RegionServer 組成部分:
- Region:存儲用戶數據的最小單元,一個RegionServer中包含多個Region
- Store:對應表的列簇,一個Region中包含多個Store
- MemStore:是一個內存式的數據結構,一個Store中包含一個MemStore
- StoreFile:MemStore滿了之后就會把數據存儲到StoreFile
- HFile:多個StoreFile會被封裝成HFile,HFile最終持久化到HDFS中
- HLog:一個RegionServer包含一個HLog,用于實現預寫日志,保證HBase的高可用
- Region:存儲用戶數據的最小單元,一個RegionServer中包含多個Region
- Store:對應表的列簇,一個Region中包含多個Store
- MemStore:是一個內存式的數據結構,一個Store中包含一個MemStore
- StoreFile:MemStore滿了之后就會把數據存儲到StoreFile
- HFile:多個StoreFile會被封裝成HFile,HFile最終持久化到HDFS中
- HLog:一個RegionServer包含一個HLog,用于實現預寫日志,保證HBase的高可用
2018-06-19
LSM-tree主要目標是快速地建立索引。B-tree是建立索引的通用技術,但是,在大并發插入數據的情況下,B-tree需要大量的磁盤隨機IO,很顯然,大量的磁盤隨機IO會嚴重影響索引建立的速度。特別地,對于那些索引數據大的情況(例如,兩個列的聯合索引),插入速度是對性能影響的重要指標,而讀取相對來說就比較少。LSM-tree通過磁盤的順序寫,來達到最優的寫性能,因為這會大大降低磁盤的尋道次數,一次磁盤IO可以寫入多個索引塊。
2018-06-19
在經典的 RDBMS 中,我們設計表結構模型時,只需要確定有多少個列即可,然后就可以對這個表進行數據的操作。而對于 HBase 來說,設計表結構模型時不需要確定列,只需要確定列簇(Cloumn Family)即可,列的數量根據列簇里面的數據進行動態伸縮,為空的列并不占用存儲空間。
2018-06-19
行式存儲與列式存儲:
行式存儲是經典的 RDBMS 的存儲解決方案,有以下特性:
- 在底層的存儲結構上,每行的數據都存儲在一起
- 行式存儲維護大量的索引,存儲成本較高,但是對于隨機讀的效率非常高
- 強事務支持
- 適用場景:OLTP 應用
列式存儲是 HBase 等 NoSQL 列式數據庫的解決方案,有以下特性:
- 在底層的存儲結構上,每列的數據都存儲在一起
- 列式存儲由于其稀疏性的特性,存儲成本較低。
- 適用場景:OLAP 應用,事務要求不高且數據量大
行式存儲是經典的 RDBMS 的存儲解決方案,有以下特性:
- 在底層的存儲結構上,每行的數據都存儲在一起
- 行式存儲維護大量的索引,存儲成本較高,但是對于隨機讀的效率非常高
- 強事務支持
- 適用場景:OLTP 應用
列式存儲是 HBase 等 NoSQL 列式數據庫的解決方案,有以下特性:
- 在底層的存儲結構上,每列的數據都存儲在一起
- 列式存儲由于其稀疏性的特性,存儲成本較低。
- 適用場景:OLAP 應用,事務要求不高且數據量大
2018-06-19
最新回答 / hbliucl
沒有rowKey怎么詢嗎?????如果根據rowkey查詢數據, 肯定是預先知道了rowkey的值的, get '表名', 'rowkey', api也有類似的方式2. 如何獲得全部的rowKey?????scan '表名' 取出全部rowkey, api操作也是類似的
2018-06-18
最新回答 / 成都加米谷大數據
大數據看書的話,只能說是補充理論方面的東西,如果有Java基礎的話,就推薦看主流大數據框架相關的書,包括Hadoop、Spark、Flink等。大數據書籍推薦:《Hadoop權威指南》《Hadoop權威指南》這本書可以說是Hadoop入門的經典書目,對于Hadoop的生態體系做了全面深入的解讀,包括如何使用Hadoop構建可靠、可伸縮的分布式系統,如何分析海量數據集,如何建立與運行Hadoop集群等知識?!禜ive編程指南》一本Apache Hive的編程指南,對于Hadoop Hive走了全面而詳細的介...
2018-06-15