深度对比!Hbase 和 MySQL 的区别是什么?
点击关注公众号,回复“1024”获取2TB学习资源!
MySQL + HBase是我们日常应用中常用的两个数据库,分别解决应用的在线事务问题和大数据场景的海量存储问题。
从架构对比看差异
相比MySQL,HBase的架构特点:
完全分布式(数据分片、故障自恢复)
底层使用HDFS(存储计算分离)。
由架构看到的能力差异
MySQL:运维简单(组件少)、延时低(访问路径短)
HBase:扩展性好、内置容错恢复与数据冗余
从引擎结构看差异
相比MySQL,HBase的内部引擎特点:
HBase原生没有SQL引擎(无法使用sQL访问,使用APlI),云HBase增强版(Lindorm)及开源Phoenix均提供sQL能力
HBase使用LSM(Log-Structure Merge)树,,Innodb使用B+树。
由引擎结构(B+Tree vs LSM Tree)看到的能力差异:
MySQL:读写均衡、存在空间碎片
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的自然延伸
blog.csdn.net/weixin_41605937/article/details/110933984
推荐阅读 点击标题可跳转
Windows 11 它来了,无需安装即可体验!
华为宣布将发布全新操作系统!任正非发话
你的电脑也许正被公司“监控”!2 招教你摆脱各式“监控”
花呗接入央行征信系统!会影响贷款吗?
某司领导称“ 80 后该退出 IT 行业”,群里爆粗口。。。
这家科技公司的放假通知火了!够横的
全球首发!USB4 终于来了:享受4万兆宽带
从零搭建 SpringCloud 服务
MySQL 架构总览->查询执行流程->SQL 解析顺序
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。
随手在看、转发是最大的支持!
深度对比!Hbase 和 MySQL 的区别是什么?相关推荐
- Hbase 和 MySQL 的区别是什么?一文深度对比!
欢迎关注方志朋的博客,回复"666"获面试宝典 MySQL + HBase是我们日常应用中常用的两个数据库,分别解决应用的在线事务问题和大数据场景的海量存储问题. 从架构对比看差异 ...
- Hbase和MySQL的区别是什么?
点击关注公众号,实用技术文章及时了解 MySQL + HBase是我们日常应用中常用的两个数据库,分别解决应用的在线事务问题和大数据场景的海量存储问题. 从架构对比看差异 相比MySQL,HBase的 ...
- hbase查询性对比 mysql_查询MYSQL和查询HBASE速度比较
上一篇文章:我要上谷歌 Mysql,关系型数据库: HBase,NoSql数据库. 查询Mysql和查询HBase,到底哪个速度快呢? 与一些真正的大牛讨论时,他们说HBase写入速度,可以达到每秒1 ...
- 以云数据库产品为例深度对比分析:华为云更安全还是阿里云更安全?
以云数据库产品为例深度对比分析:华为云更安全还是阿里云更安全? 博主介绍 目前市场云 阿里云 阿里云云原生关系型数据库 PolarDB MySQL引擎 什么是PolarDB 产品优势 产品架构 一写多 ...
- 国内十大活跃报表 BI 产品深度对比及点评
国内十大活跃报表 BI 产品深度对比及点评 目前国内市场上的报表 BI 工具琳琅满目,看起来也各有特点,这给选型工作带来了一些困扰,本文就一些较活跃的报表 BI 产品进行点评,对于不太熟悉这些产品和技 ...
- 为什么我们放弃了 Vue?Vue 和 React 深度对比
我使用 Vue 和 React 已经很长一段时间了,两个框架上实践代码量都在 10 万行以上.不得不说两者都是很 nice 的,帮助开发者减少很多工作量,这类框架是现代化前端开发必备的.然而 Vue ...
- 开源数据湖方案选型:Hudi、Delta、Iceberg深度对比
文章目录 前言: 共同点 一.Databricks 和 Delta 1.1.Delta的意图,解决的疼点 1.没有 Delta 数据湖之前存在的问题 : 二.Uber和Apache Hudi 三.Ne ...
- mysql nosql引擎_nosql与mysql的区别是什么
nosql与mysql的区别是:1.MySQL是一个基于表格设计的关系数据库,而NoSQL本质上是非关系型的基于文档的设计:2.MySQL的严格模式限制并不容易扩展,而NoSQL可以通过动态模式特性轻 ...
- 三星手机Android9和10的区别,三星Galaxy S10+ VS 小米9 拍照深度对比评测:神仙打架...
三星Galaxy S10+ VS 小米9 拍照深度对比评测:神仙打架 2019-03-05 10:34:10 149点赞 133收藏 435评论 三星S10+和小米9都是最近刚刚发布的旗舰手机,我们也 ...
最新文章
- 快速多尺度人脸检测--Multi-Scale Fully Convolutional Network for Fast Face Detection
- 删除数据库中所有存储过程和函数的sql语句
- 居然还有大学在大一上C语言课?
- es6重点笔记:数值,函数和数组
- 【iHMI43 4.3寸液晶模块】demo例程(版本1.03)发布
- python线程安全_线程,线程安全与python的GIL锁
- cxGrid 怎样才能让不自动换行 WordWrap:=false
- ZOJ 3494 BCD Code(AC自动机 + 数位DP)题解
- JVM、JRE、JDK、java ee sdk with jdk四者的区别
- Unity3D数字孪生笔记——Unity脚本篇
- 使用拟合方法实现光敏电阻传感器数值与光照强度的近似转换
- BlackBerry9700刷机
- hugepage oracle 12c,Huge page使用的一些问题
- 基于线性回归的员工离职率预测
- Pwn-高阶ROP-[栈溢出]/篇3
- 小米组织架构调整:成立技术委员会 强化技术引领
- Excel2JSON Excel转JSON Excel另存为JSON的技巧
- 右键添加显示隐藏文件夹功能
- recsys2022比赛baseline - 基于ItemCF
- 究极花里胡哨的渐变是什么样子的?