1. 程式人生 > >HBase的一些要點

HBase的一些要點

以下五點是 HBase 這個 NoSQL 資料庫的要點

① 高併發,以擴充套件,解決海量資料集的隨機實時增刪改查

② HBase 本質依然是 Key-Value 資料庫,查詢資料功能很簡單,不支援 join 等複雜操作(可

通過 Hive 支援來實現多表 join 等複雜操作)

③ 不支援複雜的事務,只支援行級事務

④ HBase 中支援的資料型別:byte[](底層所有資料的儲存都是位元組陣列)

⑤ 主要用來儲存結構化和半結構化的鬆散資料。

 

結構化:資料結構欄位含義確定,清晰,典型的如資料庫中的表結構

半結構化:具有一定結構,但語義不夠確定,典型的如 HTML 網頁,有些欄位是確定的(title),有些不確定(table)

非結構化:雜亂無章的資料,很難按照一個概念去進行抽取,無規律性

 

HBase 中的表特點

1、大:一個表可以有上十億行,上百萬列

2、面向列:列可以靈活指定,面向列(族)的儲存和許可權控制,列(簇)獨立檢索。

3、稀疏:對於為空(null)的列,並不佔用儲存空間,因此,表可以設計的非常稀疏。

4、無嚴格模式:每行都有一個可排序的主鍵和任意多的列,列可以根據需要動態的增加,

同一張表中不同的行可以有截然不同的列

 

關於儲存系統的模式介紹:

讀模式:在讀取資料的時候做模式校驗,比如資料倉庫 Hive

寫模式:在寫入資料進入儲存系統的時候做模式校驗,比如 RDBMS

 

 

表結構

1、RDBMS 完全可以抽象成是一張二維表格,表由行和列組成。由行和列確定一個唯一的值

2、HBase 本質是 key-value 資料庫,key 是行健 rowkey,value 是所有真實 key-value 的集合

3、HBase 也可以抽象成為一張四維表格,四維分別由行健 RowKey,列簇 Column Family,列

Column 和時間戳 Timestamp 組成。

4、其中,一張 HBase 的所有列劃分為若干個列簇 (Column Family)