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集群等知识。《Hive编程指南》一本Apache Hive的编程指南,对于Hadoop Hive走了全面而详细的介...
2018-06-15