一、功能对比
支持用Y表示,不支持用N表示,支持的不好用B表示
功能 | Apache Kylin | Apache Doris | Clickhouse |
---|---|---|---|
标准SQL | Y | Y | Y |
Mysql协议 | N | Y | N |
离线导入 | Y | Y | Y |
实时导入 | Y | Y | Y |
聚合查询 | Y | Y | Y |
明细查询 | B | Y | Y |
Adhoc查询 | N | Y | Y |
点更新 | N | Y | N |
并发 | Y | B | B |
分区数据原子重导 | Y | N | N |
二、其他对比
对比项 | Apache Kylin | Apache Doris | Clickhouse |
---|---|---|---|
核心原理 | 预计算,空间换时间,MPP现场计算 | MPP现场计算,向量化执行 | MPP现场计算,向量化执行 |
编程语言 | Java 、Hadoop生态 | C++、Java | C++ |
存储方式 | shard storage,HDFS分片存储 | shard nothing,本地磁盘存储 | 列式,本地磁盘存储 |
数据库完整度 | 只自持select,元数据同步自hive或者RDBMS | 完整的DBMS,支持DDL、DML | 完整的DBMS,支持DDL、DML |
运维成本 | 需要熟悉spark、yarn、hive、排查链路长,schema修改需要重建结构 | 不依赖hadoop生态,schema支持修改 | 不依赖hadoop生态,schema支持修改 |
三、使用场景
目前还没有一个系统能够满足各种场景的查询需求。其本质原因是,没有一个系统能同时在数据量、性能、和灵活性三个方面做到完美,每个系统在设计时都需要在这三者间做出取舍。
- Apache Kylin
固定维度的聚合查询,并发量高,查询迅速响应(亚秒级-秒级),数量级支持TB-PB - Apache Doris
灵活的多维度查询,join表现比Clickhouse好,明细数据查询,数量级支持TP-PB,需要注意的是Doris是mysql语法,和hive等olap有一定差异,从hive切换到doris时有一定的切换成本 - Clickhouse
大宽表,单表查询速度极佳,join表现差,明细数据查询
PS:如有错误之处,请多指教!