HBase的理論性總結
1.HBase的體系結構
主從伺服器架構,有HReginon群和HBase Master伺服器構成。HBase Master負責管理所有的HRegion伺服器,所有的HRegion伺服器通過Zookeeper來進行協調處理HBase 伺服器執行期間的錯誤。HBase Master 不儲存HBase中的任何資料,HBase 邏輯上表會被劃分為多個HRgion,然後儲存在HRgion伺服器群。HBase Master儲存的是從資料到HRegion 伺服器的對映。
HBase表超設定值得大小時,會自動劃分不同的區域,每個區域包含所有行的一個子集。從物理上來說,一張表被分成了多個塊,每個塊就是一個HRegion。用 表明+開始/結束主鍵來區分HRegion。一個HRegion會儲存一個表裡面的某段連續的資料,從開始主鍵到結束主鍵。一張完整的表示存在多個HRegion上面的。
一臺機器一般只執行一個HRegion伺服器,每一個區段的HRegion只會被一個HRegion伺服器維護。
HRegion包含HLOG和HRegion。HLOG用來儲存資料日誌,採用先寫日誌的方式。HRegion儲存實際的資料。HRegion由很多Store和MemStore組成,每個Store儲存一個列簇資料(ColumnFamily)。資料來時先到達MemStore,超過閾值就會儲存到相應的StoreFile(HFile)中。StoreFile(Hfile)為HBase中最小的單元。
HLOG 控制提交和恢復
HBase Master伺服器的職責:
管理使用者對Table的增刪改查操作
管理HRegion伺服器的負載均衡,調整HRegion分佈
在HRegion分裂後,給新HRegion分配
在HRegion伺服器停機後,負責失效HRegion伺服器上的HRegion遷移
ROOT表和Meta表
主鍵範圍是連續的,一般開始主鍵就可以表示相應的HRegion,每個HRegion有一個‘hregionId’,HRegion表示:表明+開始主鍵+ID 這就是後設資料Meta。HRegion裡面儲存的這系列元素叫Meta表。
Root table儲存了所有後設資料的位置,Root 表不能被分割,永遠只存在一個HRegion
後設資料和跟資料表每行都儲存了一個列簇:
info:regioninfo(一個序列化的HRegionInfo物件)
info:server(伺服器地址字串HServerAddress.toString())
info:startcode(用來給主伺服器判斷,HRegion伺服器資訊是否更改)
客戶端根據Root表地址,就沒必要連線主伺服器,只處理超時HRegion伺服器,再重啟時候返回HRegion地址
2,HBase資料模型
資料模型---->(java類)
他是稀疏儲存。索引是,行關鍵字、列關鍵字和時間戳。HBase裡的資料都是字串沒有型別
列名字的格式 family:qualifier
Hbase的操作是瑣行的
HBase說有資料庫的更新都有一個時間戳標記。HBase根據這個作為版本保留依據。
概念檢視
3.HBase 與RDBMS
資料型別:Hbase只有字串型別,所有型別都交由使用者自己處理。關係型資料庫有豐富的型別選擇和儲存方式
資料操作:HBase只是簡單地插入,查詢,刪除,清空等操作。表和表之間是分離的。
儲存模式:HBase是基於列儲存的,每個列簇有幾個檔案儲存。傳統資料庫是基於表格和行模式儲存
資料維護:HBase的更新,是新增新版本的資料,而不是關聯式資料庫的替換更改
可伸縮性:可以比較輕鬆的增加刪除硬體容錯性比較高,關係型資料庫可能要靠中介軟體
HBase更適合的是網際網路應用需求和海量資料儲存。比較適合開發wiki,archiveorg 型別的服務
4.與客戶端的互動模式
分別是java API,Rest和Thrift介面
相關文章
- 線性表的理論知識總結
- HBase的容錯性介紹和總結
- Qt QScatterSeries理論總結QT
- Java操作hbase總結Java
- 設計模式總結(理論篇)設計模式
- HBase知識點總結
- HBase知識點集中總結
- HBase 過濾器使用總結過濾器
- HBase二級索引方案總結索引
- Golang實時GC的理論與實踐總結GolangGC
- 對於Oracle鎖的一些理論總結Oracle
- 總結下分散式主要理論知識分散式
- Node直出理論與實踐總結
- 菜鳥小白的測試基礎理論總結(一)
- hbase shell常用命令總結
- 效能測試總結(一)---基礎理論篇
- 論基礎理論知識的重要性
- HBase-Region太多的問題簡單總結
- 概率論與數理統計的學習(歸納+總結)
- 博弈論總結
- 圖論總結圖論
- Hbase學習筆記問題總結筆記
- 開發HBase的時候需要搭建的Eclipse總結Eclipse
- 遊戲玩家中場休息:論“階段性總結”環節的設計遊戲
- 線性結構總結
- hbase 的基本結構
- 論《資料落地》的方案總結
- Web效能優化之 “直出” 理論與實踐總結Web優化
- 專案總監的方法論總結——點評
- HBase學習之Hbase的邏輯結構和物理結構
- 圖論 最短路總結圖論
- 數論總結——更新ing
- 概率論知識總結
- 數論學習總結
- jQuery的動畫處理總結jQuery動畫
- tkinter屬性(總結)
- listview屬性總結View
- 從分散式一致性談到CAP理論、BASE理論分散式