| 序号 | 对比维度 | 类别 | Doris | Clickhouse | TiDB |
|---|---|---|---|---|---|
| 1 | 总体架构 | Share-Nothing | 是 | 是 | 是 |
| 2 | 列存 | 是 | 是 | 是 | |
| 3 | 架构 | 内置分布式协议进行元数据同步 Master/Follower/Observer节点类型 | 依赖ZooKeeper进行DDL和Replica同步 | 开源分布式NewSQL数据库 Master/Slave | |
| 4 | 事务性 | 事务保证数据ACID | 100万以内原子性,DDL无事务保证 | 事务保证数据ACID | |
| 5 | 数据规模 | 单集群 < 10PB | 单集群 < 10PB | 单集群 < 10PB | |
| 7 | 导入方式 | Kafka导入 | 内置支持 | 内置支持 | 内置支持 |
| 8 | HDFS导入 | 内置支持 | 外部通过HTTP接口导入 | 支持 | |
| 9 | Spark/Flink导入 | 内置支持 | 外部通过HTTP接口导入 | 支持 | |
| 10 | 本地JDBC/HTTP | 支持 | 支持 | 支持 | |
| 11 | INSERT INTO ... SELECT ... | 支持 | 支持 | 支持 | |
| 12 | 数据格式支持 | orc/parquet/json | 支持多种格式 | 支持多种格式 | |
| 14 | 存储架构 | 数据分区 | 一级范围分区,多个分区字段 | 支持多个分区字段 | 支持多个分区字段 |
| 15 | 数据分桶 | 二级Hash分桶,分桶和节点、磁盘无关 | 支持分片,分片和节点相关 | 支持分片 | |
| 16 | 多副本 | 支持多副本 单节点故障不影响使用 | 支持 支持手工指定副本数量 | 支持多副本 单节点故障不影响使用 | |
| 17 | |||||
| 18 | 压缩格式 | 压缩格式支持,LZO,LZ4 | LZ4,ZSTD,压缩率高 | LZ4,ZSTD,压缩率高 | |
| 19 | 索引 | 前缀索引,36个字节的前缀索 | 稀疏索引,无限制 | 稀疏索引,稠密索引 | |
| 20 | 物化视图 | 支持,自动选择 | 支持,手工选择物化视图 | 不支持 | |
| 21 | 精确去重 | 支持,支持Bitmap | 支持 | 支持,支持Bitmap | |
| 22 | 近似去重 | 支持,支持HLL | 支持,uniq函数支持多种去重算法 | 支持 | |
| 23 | 增量数据合并 | 支持,后台合并 | 支持 | 支持 | |
| 24 | 自动分区 | 支持自动分区(TTL) | 支持,支持表、分区、列级别的TTL | 支持自动分区(TTL) | |
| 25 | 数据类型转换 | 支持 | 部分支持 | 支持 | |
| 26 | 数据更新与删除 | 支持 Unique Key/Aggregate Key/Primary Key | 支持 Replacing/AggregatingMergeTree | 支持 | |
| 27 | 写入性能 | 24-54M/S/Tablet(可加大并发) | HDD 150M/S, SSD 250M/S | SSD 15M/S (可加大并发) | |
| 29 | 计算能力 | SQL兼容性 | 较好 | 差 | 强 |
| 30 | 并发能力 | 并发能力 100QPS/节点,通过增加副本增加并发 | 100QPS/节点,通过增加副本增加并发 | 100QPS/节点,通过增加副本增加并发 | |
| 31 | 宽表与Join | 宽表、大小表性能差,大表Join性能好 | 宽表、大小表Join性能优,大表Join性能差 | 宽表、大小表Join性能优,大表Join性能差 | |
| 32 | 编译执行 | 支持 | 不支持 | 不支持 | |
| 33 | 向量化计算 | 支持 | 支持 | 支持 | |
| 34 | 谓词下推 | 强 | 稍弱 | 弱 | |
| 35 | BroadCast Join | 支持 | 支持 | 不支持 | |
| 36 | Shuffle Join | 支持 | 不支持 | 不支持 | |
| 37 | Colocate Join | 支持 | 支持 | 不支持 | |
| 38 | 自定义函数 | 支持 | 暂不支持 | 不支持 | |
| 39 | 支持结果缓存 | 支持查询结果缓存 | 暂不支持,有计划研发 | 不支持 | |
| 40 | 内存字典 | 不支持 | 支持 | 支持 | |
| 41 | 内存表 | 不支持 | 支持 | 支持 | |
| 43 | 扩展性 | 协议 | 支持JDBC/ODBC协议 | 支持JDBC/ODBC | 支持JDBC/ODBC |
| 44 | 标准SQL | 兼容标准SQL | 兼容性稍差 | 兼容标准SQL | |
| 45 | 容器部署 | 不支持 | 支持 | 支持 | |
| 46 | 外表 | 外查MySQL/ES/Hive的表 | 支持MySQL/Hive的表 | 支持MySQL/Hive的表 | |
| 48 | 管理性 | 元数据自动同步 | 支持 | 不支持 | 支持 |
| 49 | 副本自动均衡 | 支持 | 不支持 | 支持 | |
| 50 | 数据备份 | 支持 | 不支持 | 支持 | |
| 51 | 监控和报警 | 支持 | 支持 | 支持 | |
| 52 | 多租户和资源隔离 | 弱 | 支持,强 | 弱 | |
| 53 | 集群间迁移数据 | 弱 | 强,Remote或Copier | 强 mydumper | |
| 55 | 权限/安全/审计 | 权限 | 支持 | 支持,强 | 支持 |
| 56 | 审计 | 支持 | 支持,强 | 支持 | |
| 57 | 端到端加密 | 暂无 | 暂无 | 暂无 | |
| 58 | 网络隔离 | 暂无 | 暂无 | 暂无 | |
| 60 | 优点 | Doris更优的方面: =========================================================================================== TiDB更优的方面: | |||
| 62 | 共同缺陷 | (1)无法高频插入; (2)Update/Delete效率不高; (3)DDL/DML操作后台异步; (4)跨数据中心数据一致性不完善 | |||
| 63 | 总结 | (1)业务场景复杂数据规模巨大,希望投入研发力量做定制开发,选ClickHouse | |||



