Hbase与MySQL对比,区别是什么?

大家好,我是鸭哥。

MySQL + HBase是我们日常应用中常用的两个数据库,分别解决应用的在线事务问题和大数据场景的海量存储问题。

从架构对比看差异

相比MySQL,HBase的架构特点:

1.完全分布式(数据分片、故障自恢复)

2.底层使用HDFS(存储计算分离)。

由架构看到的能力差异:

1. MySQL:运维简单(组件少)、延时低(访问路径短)

2.HBase:扩展性好、内置容错恢复与数据冗余

 从引擎结构看差异

相比MySQL,HBase的内部引擎特点:

1. HBase原生没有sQL引擎(无法使用sQL访问,使用APlI),云HBase增强版(Lindorm)及开源Phoenix均提供sQL能力

2.HBase使用LSM(Log-Structure Merge)树,,Innodb使用B+树。

由引擎结构(B+Tree vs LSM Tree)看到的能力差异:

1.MySQL:读写均衡、存在空间碎片

2. HBase:侧重于写、存储紧凑无浪费、Io放大、数据导入能力强

关于LSM树和B+树的理解

目的是为了减少磁盘IO,

索引:某种数据结构,方便查找数据

hash索引不利于范围查询,使用树结构

B+树

  • 从磁盘读数据是以页为单位,根据这个特点使用平衡多路查找树

  • B+树的非叶子节点存放索引,叶子节点存放数据

  • 非叶子节点能够存放更多的索引,树的高度更低

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

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

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

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

HBase的特色功能—多版本

HBase的特色功能—多列簇

 HBase的特色功能—MOB

 从生态看差异

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

大数据圈:应用于大数据场景的存储、计算及管理组件

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

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

总结

哪些场景的存储适合HBase ?

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

作者:庄小焱

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

(0)

相关推荐

  • mysql入门必备

    mysql入门必备

  • 再有人问你MySQL索引原理,就把这篇文章甩给他!

    作者 l zyz1992 来源 l Hollis(ID:hollischuang) 索引,可能让好很多人望而生畏,毕竟每次面试时候 MySQL 的索引一定是必问内容,哪怕先撇开面试,就在平常的开发中, ...

  • 看这篇就够了!MySQL 索引知识点超全总结

    作者:fanili,腾讯 WXG 后台开发工程师 知其然知其所以然!本文介绍索引的数据结构.查找算法.常见的索引概念和索引失效场景. 什么是索引? 在关系数据库中,索引是一种单独的.物理的对数据库表中 ...

  • 耗时3天,整整2W字干货讲解Mysql索引,简历上给我写精通Mysql

    索引概念 概念:索引是提高mysql查询效率的数据结构.总的一句话概括就是索引是一种提高查询效率的数据结构. 数据库查询是数据库的最主要功能之一.设计者们都希望查询数据的速度能尽可能地快,因此数据库系 ...

  • MySQL群讨论:你使用了什么方法防止误删数据?

    MySQL群讨论,你都用了什么方法防止误删数据? 答: 根据大家的讨论,总结共有以下几个措施,供参考: 1. 生产环境中,业务代码尽量不明文保存数据库连接账号密码信息: 2. 重要的DML.DDL通过 ...

  • Cassandra 在 360 的实践与改进

    分享嘉宾:王锋 奇虎360 技术总监 文章整理:王彦 内容来源:Cassandra Meetup 出品平台:DataFunTalk 注:欢迎转载,转载请留言. 导读:2010年,Dropbox 在线云 ...

  • Sorry!Hbase的LSM Tree就是可以为所欲为!

    我们先抛出一个问题: LSM树是HBase里使用的非常有创意的一种数据结构.在有代表性的关系型数据库如MySQL.SQL Server.Oracle中,数据存储与索引的基本结构就是我们耳熟能详的B树和 ...

  • 最新MySql数据库面试题总结(值得收藏)

    linux服务器开发相关视频解析: 腾讯.阿里等大厂面试,不了解这些MySQL技术,何以征服面试官 linux后台开发面试必备技能--锁,原子操作,CAS 数据库基础知识 为什么要使用数据库 数据保存 ...

  • 我国主要城市的建成区与北京六环范围的对比

    一座城市的规模大小,很大程度上能够反映一座城市的繁荣程度.因此,我国各地的网友总喜欢将自己所在的城市与其他城市进行比较,争论究竟那一座城市更大,通过对比来满足内心对自己所在城市的自豪感.网上见得最多的 ...

  • 吴语区多城市方言点语音对比【西部 南部吴语篇】带你体验吴语的多样性 |吴语公众号

    吴语 ISO 693-3 wuu 吴语(语言代码:ISO 693-3 wuu)是一门历史悠久的语言,通行于上海.浙江.江苏南部.皖东南+赣东北边界.其中上海.浙江北部大部分.江苏南部大部分,同属吴语最 ...

  • (46条消息) 学习数据库MySQL,与SQLite数据库作对比

    MySQL与SQLite对比 SQLite功能简约,小型化,追求最大磁盘效率:MySQL功能全面,综合化,追求最大并发效率.如果只是单机上用的,数据量不是很大,需要方便移植或者需要频繁读/写磁盘文件的 ...

  • 青羊五区4所小学+学区房对比

    青羊五区共4所小学,泡小境界分校.青羊实验附小.泡小西区分校.金沙小学. 生源方面: 这3所小学的整体生源都非常不错: 泡小西区的生源主要以公务员.教师(小学中学大学).医生.国企.华为.民航.部队等 ...

  • 教育新贵-高新四区,5所小学+学区房对比!

    高新四区,今年也是由于对口初中调整为七中初中锦城校区,所以一跃成为教育新贵. 这所初中也多次反复说了好几遍了,概括下来就是: 不是一般意义上的更名挂牌学校,而是七中初中设立的第一个分校. 其次,它与七 ...

  • 锦江二区学区房对比!门槛最高相差57万!

    青羊二区.锦江二区同样都被誉为最牛学区. 上周赞花儿已经对青羊二区的学区房打了一个总结:青羊二区学区房之五宗"最". 今天则要说到另一个强区:锦江二区. 不过说之前,赞花儿觉得还是 ...

  • 大湾区9城十年数据对比,珠海稳居第二!

    新视角  新发现  新珠海 在过去十年间,中国城市格局发生巨大变化,北方多数城市走向低迷,少数中西部城市快速崛起,而粤港澳大湾区.长三角仍齐头并进.势不可挡. 在过去的十年间,大湾区9座大陆城市中,通 ...

  • 荣耀v20和vivox27区别是什么?荣耀v20和vivox27对比评测

    这两款手机放在一起对比我完全不意外.至于说X27到底有哪些优势,那还真的是有,具体的话我就一个个优势分开来说好了. 荣耀v20和vivox27哪个值得买 在对比之前先申明一点,这两款手机的售价有小幅度 ...

  • 小米cc9和小米9区别是什么?小米CC9和小米9对比详情

    小米cc9和小米9都是最近出的新款手机,外观看上去十分相似,而且都不贵,是很多人都很关注的.而小米cc9和小米9哪个好?两款手机有什么区别呢?文中详细介绍. 小米cc9和小米9哪个好 硬件配置 搭载高 ...