【152期】美团一面:为什么选用 Hbase,Hbase 和 MySQL有啥区别?

  • 叶子节点通过指针相连,有利于区间查询

  • 叶子节点和根节点的距离基本相同,查找的效率稳定

  • 数据插入导致叶子节点分裂,最终导致逻辑连续的数据存放到不同物理磁盘块位置,导致区间查询效率下降

LSM Tree
  • LSM(Log-Structured Merge),LevelDB,RocksDB,HBase,Cassandra等都是基于LSM结构

  • HDD,SSD顺序读写的速度都高于随机读写,写入日志就是顺序写

  • WAL,memtable,sstable

  • 有利于写,不利于读,先从memtable查找,再到磁盘所有的sstable文件查找

  • Compaction的目的是减少sstable文件数量,缓解读放大的问题,加速查找可以对sstable文件使用布隆过滤器

  • Compaction策略

  • STCS(SIze-Tiered Compaction Strategy)空间放大和读放大问题

  • LCS(Leveled Compaction Strategy)写放大问题

  • Compaction会引入写放大问题,在Value较大时采用KV分离存储缓解写放大

  • 写操作多于读操作时,LSM树有更好的性能,因为随着insert操作,为了维护B+树结构,节点分裂。读磁盘的随机读写概率会变大,性能会逐渐减弱。LSM树相比于B+树,多次单页随机写变成一次多页随机写,复用了磁盘寻道时间,极大提高写性能。不过付出代价就是放弃部分读性能。

数据访问


相同之处:数据以表的模型进行逻辑组织,应用对数据进行增删改查

不同之处:MySQL的SQL功能更丰富:事务能力更强,HBase既可以用APIl进行更灵活、性能更好的访问,也可以借助Phoenix使用标准sQL访问;只支持单行事务。

HBase的特色功能–TTL

8ddeae8a58eaa88e9255baaced40023b.png

图片

HBase的特色功能—多版本

4ea371f38fbeecd3c7643b087ca71de3.png

图片

HBase的特色功能—多列簇

792b0a1ada2aaa8430a627ccc42315e4.png

图片

HBase的特色功能—MOB

a375a2219becfdc75b2362304fe3baa8.png

图片

从生态看差异


MySQL:满足APP的在线数据库存储,一般有我足矣

d20540ef05fce21d7e4040d748d5e196.png

图片

大数据圈:应用于大数据场景的存储、计算及管理组件。java面试资料,公众号Java精选,回复Java面试,获取面试资料。

64e2f27e07e4055790ee719c7fab810a.png

图片

  • MySQL:一般可独立满足在线应用的数据存储需求,或者与少量组件配合(如缓存、分库中间件)

  • HBase:一般需要和较多大数据组件一起配合完成应用场景,场景架构的设计、实施存在较大的挑战

总结


890368b3387fb30e4596e532fea4e5dd.png

图片

哪些场景的存储适合HBase ?

7fe772e511b0c086afb74fda556e6432.png

图片

cdb94f963be3509e734cb158a6e034fa.png

图片

b517ac67df74d0b3cfcd631cb7bd910c.png

图片

ddee32bfb67af5b7c910711f01265ea9.png

图片

956da55abcbce5cb04a3bca3d757c0d4.png

图片

6f1d4b18b4c4a28387ed155d171d4a89.png

图片

75f7979ec4aaf80c2d21673261b3feb4.png

图片

488186ea4d6ef6bcdaa6fc65212109bc.png

图片

5b1a431b6630f2446bc1f002a48d7b70.png

图片

bc1ad98363b2c548f78a3de44127314b.png

图片

a5a1657cc4d2a4f764ea41d23903910a.png

图片

HBase不是MySQL的替换,HBase是业务规模及场景扩张后,对MySQL的自然延伸

ede749446e3aa964a5a17345fb5bacc1.png

作者:庄小焱

https://blog.csdn.net/weixin_41605937/article/details/110933984

本文为CSDN博主「chilx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

------ THE END -------

精品资料,超赞福利!

>Java精选面试题<

3000+ 道面试题在线刷,最新、最全 Java 面试题!

笔者福利

以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。

有了这个,面试踩雷?不存在的!

回馈粉丝,诚意满满!!!




道面试题在线刷,最新、最全 Java 面试题!

笔者福利

以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。

有了这个,面试踩雷?不存在的!

回馈粉丝,诚意满满!!!

[外链图片转存中…(img-k2AzXELk-1714493529372)]
[外链图片转存中…(img-95i7fiXr-1714493529372)]
[外链图片转存中…(img-Q06dgc05-1714493529373)]
[外链图片转存中…(img-svZtWK4j-1714493529373)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值