Hbase--5

本文对比行式与列式数据库特性,分析HBase与MySQL的区别,探讨HBase热点问题解决方案及LSM树原理,深入理解不同数据库场景应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.行式数据库与列式数据库区别
行式数据库
数据是按行存储的
没有索引查询使用大量的io
建立索引和视图需要大量时间和资源
列式数据库
数据按列存储-每一列单独存放
数据即索引
访问查询的涉及的列-大量降低系统io
每列由一个线索来处理-查询的并发处理
数据类型和数据特征相似-高效压缩
应用场景:行式数据库时候增删改查操作
列式数据库更适合做数据分析和海量存储和商业智能
2.HBase与mysql 区别?
定义
a)Mysql:关系型数据库,主要面向OLTP,支持事务,支持二级索引,支持sql,支持主从、Group Replication架构模型(此处以Innodb为例,不涉及别的存储引擎)。
b)Hbase:基于HDFS,支持海量数据读写(尤其是写),支持上亿行、上百万列的,面向列的分布式NoSql数据库。天然分布式,主从架构,不支持事务,不支持二级索引,不支持sql.
3.Hbase 如何避免热点问题
1).加盐就在rowkey的前面分配随机数,rowekey前缀匹配,就能分配的到不同的region中
如果集群有500台机器,那么随机生成0-499的随机添加的rowkey首部。
12 17765657979 18688887777 201806121502 #随机数,主叫,被叫,时间
在插入数据时,判断首部随机数字,选择对应的region存入,由于rowkey首部数字随机,所以数据也将随机分布到不同的regionServer中。这样就能很好的避免热点问题了
2).预分区
3).反转
4).哈希
4.LSM树
LSM牺牲了部分的读的性能,提供写的性能,原理是把一颗大树拆成N颗小树,它写入到内存中,在内存构建一颗有序的小树,随着小树越来越大,内存的小树会flush到磁盘上,当读时,不知道遍历哪个小树,就遍历所有小树。LSM树使用了一个内存组件和多个磁盘组件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据学习爱好者

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值