今天參加了乙個關於hbase的分享,有一些內容是之前的知識的補充。
之前關於hadoop家族,包括hbase的內容,可以參考:
hbase是三維儲存和索引 (
hbase所謂的三維有序儲存的三維是指:rowkey(行主鍵),column key(columnfamily+qualifier),timestamp(時間戳)三部分組成的三維有序儲存。
rowkey
rowkey是唯一能進行scan操作的。
column key
column key是第二維,資料按rowkey字典排序後,如果rowkey相同,則是根據column key來排序的,也是按字典排序。
我們在設計table的時候要學會利用這一點。比如我們的收件箱。我們有時候需要按主題排序,那我們就可以把主題這設定為我們的column key,即設計為columnfamily+主題.,這樣的設計。
timestamp
timestamp 時間戳,是第三維,這是個按降序排序的,即最新的資料排在最前面。這個就沒有什麼說的了。網上其他的部落格也提到比較多。
hbase所在的層次要了解。
寫的順序,要了解:首先是寫wal,相當於mysql的binlog;然後資料寫memstore,當memstore滿了之後進行dump到hfile;注意memstore有多份,當乙份寫滿了,新開乙個memstore,同時舊的dump到file? (也可能不像分享裡面說的,其實不開新的memstore;而是每個region的列族都有單獨的memstore物件但實際上共用一塊記憶體池?)
分享的應用是把hbase 和 es(elasticsearch) 結合起來的。hbase作為底層儲存,es作為索引的組織和檢索框架。
再開一篇文章討論 es和solr的關係和區別。
技術分享 Hbase儲存模式
hbase本身是資料庫,本身就是為了儲存資料,因此了解其儲存原理對我們是很有必要的,這樣我們才能更好的使用hbase。首先才能儲存模式開始,hbase的儲存模式與傳統型的儲存模式有什麼區別。列式儲存 columnar or column based 是相對於傳統關係型資料庫的行式儲存 row bas...
Hbase 學習筆記 Hbase 概覽
hbase構建在 hdfs 之上,hbase內部管理的檔案全部儲存在hdfs 中 行鍵,table的主鍵,table中的記錄按照row key排序。型別為byte array 列簇,table在水平方向有乙個或者多個column family組成,乙個column family中可以由任意多個col...
HBase分享系列(3) 讀取細節
一 布隆過濾器 1 檢索機制 2 優點 1 節省儲存空間 2 節省定位時間 3 缺點 1 有誤差 2 有刪除困難 布隆過濾可以每列族單獨啟用。使用 hcolumndescriptor.setbloomfiltertype none row rowcol 對列族單獨啟用布隆。default none ...