大数据分析&数据仓库关于数据库选型方面的感触

clickhouse使用感受,优点&缺点

传统的MPP数据库由于所有的节点都要参与运算,所以一个集群的并发能力与一个节点的并发能力相差无几。如果一定要提高并发量,可以考虑增加副本数的方式,但同时也增加了RPC的交互,对性能和物理成本的影响巨大。

  • 单表很快,官方建议用宽表;比mysql快30倍是可信的;
  • 多表关联很不好,复杂的sql往往造成oom;
  • 更新操作不擅长,使用alter table ,且是异步执行;
  • 物化视图只在第一个表有新增的时候聚合数据,源表数据变动不会同步到物化视图
  • 普通视图仅仅是sql语句的缓存,并不能提升性能;
  • sql使用上还是有一些小区别的,很多的小区别,有一定的学习成本;
  • 并发低,官方数据100qps,即使一个查询,也会用服务器一半的CPU去查询;
  • 存储空间小

StarRocks(DorisDB) 网上资料暂时没有实际使用

一个东西,StarRocks是因为版权问题修改后的名字

一般与clickhouse比较的较多;

  • 单表查询性能基本相同(略略好于ck);
  • 多表关联更好;
  • 更新操作支持更好,且实时;
  • 并发更高,可以支撑数千用户同时进行分析查询,在部分场景下,高并发能力能够达到万级;
  • 提供了多种模型适配了更新操作,明细召回操作,聚合操作等业务需求。更新模型可以按照主键进行UPDATE/DELETE操作,通过存储和索引的优化可以在并发更新的同时高效的查询。在某些电商场景中,订单的状态需要频繁的更新,每天更新的订单量可能上亿。

两者有着很多的相似之处,对于分析类查询都提供了极致的性能,都不依赖于Hadoop生态圈。
StarRocks相较于ClickHouse有更好的表现。一般来说,ClickHouse适合于维度变化较少的拼宽表的场景,StarRocks不仅在单表的测试中有着更出色的表现,在多表关联的场景具有更大的优势。

elasticsearch 使用感受,优点&缺点

  • 我使用dsl进行查询,还是需要一定的学习成本
  • 网上说查询性能弱于ck3-5倍,不过在我的实际使用中50亿数据量,机器性能够用的话,速度并不慢;(我们的集群是16个节点,每节点8Tssd,内存每台256G(要保留一半左右的缓存区),cpu也是顶级)
  • 针对上面这一条得出:es是比其他两个更耗费资源(但是大家并不能定论它存储更耗空间,es进行字段索引的话确实占用空间大,但是如果只是存储基本数据,空间还是可控的;)

下图实测了一张对比图

mysql & clickhouse & startRocks 的空间存储,查询耗时;
都采用单机部署;
startRocks:1FE 1BE(硬盘为HDD)
clickhouse: 单机部署 (公司服务器应为ssd)
mysql:(公司服务器应为ssd)

在这里插入图片描述

  • 这里进行单表扫描188万行,SUM聚合(无索引)&分组(均有索引);10次耗时如图;(次数间隔时间为我手动记录一次耗时所需要的时间)
  • 三个db存储空间在标头栏;
  • 这里可以看到单表 ck 和 start差不多(start使用HDD,可能会慢一些);多表关联耗时后期补充
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值