14 | BigTable的开源实现:HBase
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
HBase是一种基于Google BigTable的开源实现,通过数据分片设计和HDFS实现了分布式海量存储。其架构设计依赖可分裂的HRegion和可伸缩的HDFS,以HRegion为单位管理数据,并通过HMaster和HRegionServer实现数据访问。HBase的列族设计使得数据表可以包含数百万的字段,并在查询时非常方便。LSM树的使用极大程度地减少了磁盘的访问次数,加快了访问速度。这些优良的设计结合Apache开源社区的高质量开发,使得HBase在NoSQL领域保持领先优势,逐步成为最具影响力的产品。 HBase的列族结构虽然具有灵活的优势,但也存在一些缺点。在应用开发中,可以通过合理设计数据模型和使用合适的数据访问模式来克服这些缺点。在一些场景下,仍然适合使用MySQL这类关系数据库,特别是对于需要复杂的事务处理和强一致性要求的应用场景。 总的来说,HBase以其分布式海量存储、灵活的数据表结构和高性能的特点,成为NoSQL领域最具影响力的产品之一。然而,在实际应用中,需要根据具体的业务需求和数据特点来选择合适的数据库技术。
《从 0 开始学大数据》,新⼈⾸单¥68
全部留言(68)
- 最新
- 精选
- shangyu内存写操作 如何保证突然掉电的话不丢数据呢
作者回复: 还有一个写操作日志记录数据,所以数据不会丢,但是宕机恢复需要时间,就是根据日志恢复数据,这段时间部分数据更新访问不到。
2018-11-30621 - 足迹HBase是基于HDFS存储的,那实际应用中是不是应该每台DataNode节点安装一个Region?
作者回复: 每个DataNode安装多个hregion
2018-12-09210 - Geek_c991e0老是,所有的请求都会先到HMaster,HMaster是不是也要多台机器才行,要不压力太大吧。如果多台主从是不是又会有同步的问题
作者回复: key按照区间分片,所以第一次请求后,这个key所在的分片信息就会缓存在client,所以并不需要每次请求组都先到HMaster,但是HMaster还是需要很多台机器,一则是为了应付访问压力,但是主要是为了高可用,当主HMaster宕机后,可选举新的主HMaster出来。
2019-07-0927 - M老师文中的读写都是通过HMaster获取HRegionServer的地址,再进行读写操作。怎么和我在其他地方学的不一样。不是应该通过zk查询的吗?
作者回复: zk查询哪个master是主master。 如果直接查询zk地址,HBASE的设计目标是支持万亿级数据,zk根本存储不来。
2018-11-2937 - 姜戈针对问题:是不是列族不能太多,会影响IO
作者回复: 列族个数不会影响io
2018-11-305 - 胡家鹏“HRegion 是 HBase 负责数据存储的主要进程,应用程序对数据的读写操作都是通过和 HRetion 通信完成。”没有看到HRetion
作者回复: 拼写错误,尽快改正,谢谢纠正
2018-11-292 - yang一台HRegionServer上可以有多个HRegion实例。 那请问: 1.一台HRegion 上 有多少个HFile啊? 2.HFile随着HRegion的迁移而迁移,意思是像HDFS的分片数据一样,复制在其他Data Node节点上一样,复制在其他HRegionServer上的HRegion上吗? 老师可以简单解释一下嘛?
作者回复: hfile是一个hdfs文件,本身就分片后多个备份存储,不需要迁移。
2018-11-301 - 大马猴提一个建议,大家尽量发一些跟技术主题相关的评论,这才是对作者劳动成果的尊重,也请作者少放那些吹捧和自说自话的评论,提高阅读体验。2018-11-295101
- Kaer1:列族不好查询,没有传统sql那样按照不同字段方便,只能根据rowkey查询,范围查询scan性能低。2:查询也没有mysql一样的走索引优化,因为列不固定 3:列族因为不固定,所以很难做一些业务约束,比如uk等等。4:做不了事务控制2018-11-2983
- special看了十多篇文章了,大都是从大数据领域相关技术的特点,原理及应用场景等方面来阐述,讲得很不错,不过有不少内容需要具备一定的大数据实践及理论基础才能很好的吸收,文章没有针对大数据相关框架或工具的实践介绍,比如环境搭建,操作使用等。这也可以理解,这些放在文章中进行介绍也不大合适。 我最近学习了大数据快一年了,对于大数据领域的常用工具,如hdfs,hbase,mapreduce,yarn,hive,sqoop,pig,flume,storm,spark等的实践内容,如环境搭建,架构原理,基本操作,Java基本编程等,做了总结,全部以文章的形式发表在个人公众号里:程序猿的修身养性,有兴趣的朋友可以关注下,一起交流学习!2018-12-21237