打开

开源OLAP引擎选型-ClickHouse、Druid和Doris

subtitle
软件架构

2021-11-20 09:57

关注

目前开源的 OLAP 引擎很多,考察比较出名的几个 OLAP 系统:ClickHouse,Druid 和 Doris。

最终选择 Doris 来替换原有系统,主要基于以下几方面的考虑:

(1)Doris 的查询速度是亚秒级的,并且相对 ClickHouse 来说,Doris 对高并发的支持要优秀得多。

(2)Doris 扩容方便,数据可以自动进行负载均衡,解决了原有系统的痛点。ClickHouse 在扩容时需要进行数据重分布,工作量比较大。

(3)Doris 支持 Rollup 和 Online Schema Change,这对日常业务需求十分友好。而且由于支持 MySQL 协议,Doris 可以很好地和之前已有的系统进行融合。而 Druid 对标准 SQL 的支持有限,并且不支持 MySQL 协议,改造成本很高。

经过对系统的改造,目前使用 Doris 作为系统中的一个数据存储层,汇总了离线和实时数据,也为上层查询系统提供统一的效果数据查询接口。

打开网易新闻 查看更多图片

针对一些毫秒级的查询场景,可以使用Doris 支持的聚合模型,对数据进行预聚合。

此外,Doris 支持建立 Rollup 表(即物化视图)也可以在不同维度上进行预聚合,这种自定义的方式相比 Kylin 的自动构建 Cube,有效避免了数据的膨胀,在满足查询时延的要求下,降低了磁盘占用。Doris 还可以通过 Rollup 表对维度列的顺序进行调整,避免了 Kylin 中因过滤维度列在 HBase RowKey 后部而造成的查询性能低下。

针对一些维度和指标列比较多的场景,由于维度列较多,这种查询只能依赖于现场计算能力。目前对于这种类型的查询请求,会将其数据尽量均匀分布到多台 BE 上,利用 Doris MPP 架构的特性,并行计算,并通过控制查询时间范围(一个月),可以使 TP99 达到 3s 左右。

特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。
打开网易新闻,阅读体验更佳
帮TA点赞
大家都在看打开应用 查看全部
网易热搜每30分钟更新
打开应用 查看全部
打开