mysql、hbase、redis、clickhouse的优缺点比较

mysql与redis

  • 数据库类型

1.mysql是关系型数据库;

2.redis是缓存数据库;

  • 数据库的作用

1.MySQL用于持久化存储数据到硬盘,功能强大,但是速度缓慢;

2.Redis用于存储使用较为频繁的数据到缓存中,读取速度快;

  • 业务需求

1.MySQL和Redis因为需求的不同,一般在实际应用中都是配合使用的;

  • 运行机制

1.MySQL数据库作为存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,运行慢,数据库负载大;

2.Redis是基于单线程的,Redis效率比较高,由于Redis是基于内存操作,所以CPU不是性能瓶颈,机器的内存和宽带才是Redis的瓶颈;

mysql与hbase

1.两者属于不同类型数据库。HBASE是按列存储型数据库,MySQL是关系型数据库;hbase分布式,底层使用hdfs,存储计算分离;

2.关系型数据库的优缺点

优点

  1. 数据之间有关系,进行数据的增删改查的时候是非常方便的;
  2. 关系型数据库是有事务操作的,保证数据的完整性和一致性;

缺点

  1. 数据和数据是有关系的,使用了算法和范式,性能会低一点;
  2. 不适合海量数据的查询与维护;
  3. 适合轻量级的数据;

3.为了处理海量数据,非关系数据库设计之初就是为了替代关系型数据库的关系

hbase的优缺点:

优点

  1. 列可以动态增加,列为空不存储数据,就不会占用存储空间;
  2. 可以提供高并发的读写操作支持,
  3. 拓展性好,容易增加或者减少存储硬件的数量;
  4. 容错恢复,数据冗余;

缺点:1.不支持条件查询,只能靠row key来查询;

mysql与clickhouse

  1. clickHouse也是一种关系型数据库,最大的区别就是clickHouse是列式存储。列式存储方式具备了一种天然的优势,就是做统计分析,聚类分析;
  2. 定位区别

OLTP:传统的关系型数据库,强调事务的一致性;(联机事务处理)

OLAP:(联机分析处理)仓库型数据库,主要是读取数据,做复杂数据分析,侧重技术决策支持,提供直观简单的结果;

clickhouse的优势:

1.列式数据库更适合于OLAP场景(对于大多数查询而言,处理速度至少提高了100倍)

2.几乎覆盖了标准SQL的语法,以及各种函数;

3.多样化的引擎,包括 合并树,日志,接口和其他四大类引擎;

4.采用了 LSM tree,数据写入后定期后台compaction合并,LSM tree导入数据是顺序写的,多个端merge sort归并排序后顺序写回磁盘,顺序写充分利用磁盘的吞吐能力;

5.数据分区partition,每个partition进一步划分为多个index 索引力度,通过多个cpu分别处理实现并行数据处理,单条query就可以利用整机所有CPU,极大降低了查询延时;

clickhouse的短板:

1.不支持事务;2.稀疏索引,不适合检索单行的点查询;

3.ClickHouse 不适合处理数据的频繁修改以及删除操作,对于删除和修改会消耗大量的性能,特别是频繁的单条数据修改;尽量批量写入;

4.不适合同时并发多条查询;

列式存储的优势

列式存储的优势原理?

1.I/O,列式存储在检索的时候减少了IO;

​ 1.分析类的查询,只需要读取表的一小部分列,减少IO;

​ 2.压缩更容易,减少IO的体积;

​ 3.IO的降低有助于更多的数据被缓存;

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值