hbase乾貨

區別

作nosql有不少,hive與hbase,兩者都是基於hadoop的,不一樣是,hive基於類sql引擎的,因此能夠用HSQL語句來 用來統計查詢,返回數據比較慢,默認是便利表中全部的數據。
hbase呢是key/value的數據庫,用來實時查詢是比較擅長的,facebook的消息實時分析用此,sql

名詞:MapReduce
由master分配任務給worker執行,map函數讀取被分配的輸入數據片斷,輸出中間key/value pair值的集合,reduce函數手機具備相中中間key值的value值,合併這些value值,造成一個較小的value值的集合
把一些數據經過map來歸類,經過reducer來把同一類的數據進行處理數據庫

hbase乾貨

hbase理解的應該有如下幾個模塊服務器

簡單理解hbase更新數據,首先寫到hlog日誌,而後同時經過hregionserver 到region,再經過store模塊的memstore存儲,若是達到設置的值則執行store file,flush到hfile中,這樣這幾個模塊都用上了框架

master或者hmaster 是Master Server的實現,負責監控集羣中的RegionServer實例,同時是全部metadata改變的接口,在集羣中,一般運行在NameNode上面
hregionserver 是RegionServer的實現,服務和管理Regions,集羣中RegionServer運行在DataNode
region 表明table,Region有多個Store(列簇),Store有一個Memstore和多個StoreFiles(HFiles),StoreFiles的底層是Block
鏈接 https://blog.csdn.net/maketubu7/article/details/80612930
https://blog.csdn.net/huangliuyu00/article/details/79704371
Hlog
memstore
store file nosql

Hlog如何保證hbase一致性的
HBase的可靠性是經過HLog實現的,HLog機制是WAL(Write-Ahead Logging)的一種實現,預寫日誌。WAL是事務機制中常見的一致性實現方式。每一個Region Server中都會有一個HLog實現,Region Server更新操做時,先把記錄到寫到WAL(也就是HLog)中,再寫入到Store的MemStore,最終MemStore會將數據寫入到持久化的HFile中,當MemStore到達配置的內存閥值時。經過先寫WAL(HLog),再寫MemStore,這樣的方式保證寫的可靠性。
若是沒有WAL,當Region Server宕掉的時候,MemStore還沒寫入到HFile,或者StoreFile還沒保存,那麼數據就會丟失。而HFile的數據由HDFS保證的,默認HDFS中會有3份。ide

若是服務器崩潰,region server會回訪Hlog,經過數據回寫,來恢復服務器的內存數據。下圖顯示了寫入過程,也是一個Hbase的框架圖
————————————————
hbase乾貨函數

另外cell,column family ,columns ,table,row,定義是什麼oop

這個鏈接很清楚https://blog.csdn.net/huangliuyu00/article/details/79704371
https://juejin.im/post/5c8b7d585188257e937de505#heading-24
http://www.javashuo.com/article/p-zwpwiqek-mg.htmlpost

相關文章
相關標籤/搜索