一、功能对比
支持用Y表示,不支持用N表示,支持的不好用B表示
| 功能 | Apache Kylin | Apache Doris |
|---|---|---|
| 标准SQL | Y | Y |
| Mysql协议 | N | Y |
| 离线导入 | Y | Y |
| 实时导入 | Y | Y |
| 聚合查询 | Y | Y |
| 明细查询 | B | Y |
| Adhoc查询 | N | Y |
| 点更新 | N | Y |
| 并发 | Y | B |
| 分区数据原子重导 | Y | 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支持修改
三、使用场景
目前还没有一个系统能够满足各种场景的查询需求。其本质原因是,没有一个系统能同时在数据量、性能、和灵活性三个方面做到完美,每个系统在设计时都需要在这三者间做出取舍。
1.Apache Kylin
固定维度的聚合查询,并发量高,查询迅速响应(亚秒级-秒级),数量级支持TB-PB
2.Apache Doris
灵活的多维度查询,join表现比Clickhouse好,明细数据查询,数量级支持TP-PB,需要注意的是Doris是mysql语法,和hive等olap有一定差异,从hive切换到doris时有一定的切换成本
3.Clickhouse
大宽表,单表查询速度极佳,join表现差,明细数据查询
