Hbase和MySQL的区别是什么?

439次阅读  |  发布于2年以前

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+树

LSM Tree

数据访问

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

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

HBase的特色功能--TTL

图片

HBase的特色功能—多版本

图片

HBase的特色功能—多列簇

图片

HBase的特色功能—MOB

图片

从生态看差异

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

图片

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

图片

总结

图片

哪些场景的存储适合HBase ?

图片

图片 图片 图片 图片 图片 图片 图片 图片 图片 图片

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

图片

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8