一、功能对比
    支持用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

    二、其他对比

    image.png

    对比项 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表现差,明细数据查询