Hbase和Mysql的区别

hbase和mysql的区别

1、存储位置不一样-hbase是nosql数据库,存储使用的是内存,定期将内存的数据刷新到磁盘
2、hbase列式存储,mysql里面的四张表在hbase对应的是一个表,4个列
3、存储的结构不同,mysql的数据结构是B树,叶子结点存储太多,容易崩溃,hbase分开存,适合大数据

一:架构对比差异

相比Mysql,Hbase的架构特点:
1、完全分布式(数据分片、故障自恢复)。2、底层使用HDFS(存储计算分离)
架构看到的能力差异:
1、Mysql运维简单,延时低
2、Hbase扩展性好、内置容错恢复与数据冗余
Hbase和Mysql的区别_第1张图片

二:从引擎结构看差异

Mysql的默认存储引擎Innodb(B+树),Hbase的默认存储引擎Regionserver内部结构(LSM树)
1、Mysql读写均衡、存在空间碎片
2、Hbase侧重于写、存储紧凑无浪费、io放大、数据导入能力强

三:关于LSM树和B+树

目的是减少磁盘IO
B+树:
1、从磁盘读数据是以页为单位,根据这个特点使用平衡多路查找树
2、B+树的非叶子节点存放索引、叶子结点存放数据
3、非叶子节点能够存放更多的索引,树的高度更低
4、叶子节点通过指针相连,有利于区间查询
5、叶子节点和根节点的距离基本相同,查找的效率稳定

LSM树:
1、HDD,SSD顺序读写的速度都高于随机读写,写入日志就是顺序写
2、有利于写,不利于读,先从memtable查找,再到磁盘所有的sstable文件查找
3、Compaction的目的是减少sstable文件数量,缓解读放大的问题,加速查找可以对sstable文件使用布隆过滤器

生态差异

mysql:满足app的在线数据库存储
Hbase和Mysql的区别_第2张图片

大数据圈:应用于大数据场景的存储、计算及管理组件
Hbase和Mysql的区别_第3张图片

总结

Hbase和Mysql的区别_第4张图片

你可能感兴趣的:(hbase,hbase,mysql,数据库)