为了账号安全,请及时绑定邮箱和手机立即绑定
RegionServer 组成部分:
- Region:存储用户数据的最小单元,一个RegionServer中包含多个Region
- Store:对应表的列簇,一个Region中包含多个Store
- MemStore:是一个内存式的数据结构,一个Store中包含一个MemStore
- StoreFile:MemStore满了之后就会把数据存储到StoreFile
- HFile:多个StoreFile会被封装成HFile,HFile最终持久化到HDFS中
- HLog:一个RegionServer包含一个HLog,用于实现预写日志,保证HBase的高可用
LSM-tree主要目标是快速地建立索引。B-tree是建立索引的通用技术,但是,在大并发插入数据的情况下,B-tree需要大量的磁盘随机IO,很显然,大量的磁盘随机IO会严重影响索引建立的速度。特别地,对于那些索引数据大的情况(例如,两个列的联合索引),插入速度是对性能影响的重要指标,而读取相对来说就比较少。LSM-tree通过磁盘的顺序写,来达到最优的写性能,因为这会大大降低磁盘的寻道次数,一次磁盘IO可以写入多个索引块。
在经典的 RDBMS 中,我们设计表结构模型时,只需要确定有多少个列即可,然后就可以对这个表进行数据的操作。而对于 HBase 来说,设计表结构模型时不需要确定列,只需要确定列簇(Cloumn Family)即可,列的数量根据列簇里面的数据进行动态伸缩,为空的列并不占用存储空间。
行式存储与列式存储:

行式存储是经典的 RDBMS 的存储解决方案,有以下特性:
- 在底层的存储结构上,每行的数据都存储在一起
- 行式存储维护大量的索引,存储成本较高,但是对于随机读的效率非常高
- 强事务支持
- 适用场景:OLTP 应用

列式存储是 HBase 等 NoSQL 列式数据库的解决方案,有以下特性:
- 在底层的存储结构上,每列的数据都存储在一起
- 列式存储由于其稀疏性的特性,存储成本较低。
- 适用场景:OLAP 应用,事务要求不高且数据量大
慕课网 - HBase入门:https://www.imooc.com/learn/881
慕课网 - HBase 存储原理剖析:https://www.imooc.com/learn/996
慕课网 - HBase+SpringBoot实战分布式文件存储:https://coding.imooc.com/class/chapter/205.html

最新回答 / hbliucl
没有rowKey怎么询吗?    如果根据rowkey查询数据, 肯定是预先知道了rowkey的值的, get '表名', 'rowkey', api也有类似的方式2. 如何获得全部的rowKey?    scan '表名' 取出全部rowkey, api操作也是类似的

最新回答 / 成都加米谷大数据
大数据看书的话,只能说是补充理论方面的东西,如果有Java基础的话,就推荐看主流大数据框架相关的书,包括Hadoop、Spark、Flink等。大数据书籍推荐:《Hadoop权威指南》《Hadoop权威指南》这本书可以说是Hadoop入门的经典书目,对于Hadoop的生态体系做了全面深入的解读,包括如何使用Hadoop构建可靠、可伸缩的分布式系统,如何分析海量数据集,如何建立与运行Hadoop集群等知识。《Hive编程指南》一本Apache Hive的编程指南,对于Hadoop Hive走了全面而详细的介...
你这个英语发音我也是醉了
看完撒花,老师很棒
老师讲解的很好啊,支持老师!
课程须知
需要对HBase有一定了解后
老师告诉你能学到什么?
HBase 基本的数据存取方法 HBase 系统的整体架构 HBase 存取数据的原理以及各个模块之间是怎样协同工作的

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消