总体架构
Share-Nothing是是是2列存是是是3架构内置分布式协议进行元数据同步Master/Follower/Observer节点类型依赖ZooKeeper进行DDL和Replica同步
开源分布式NewSQL数据库
Master/Slave
4事务性事务保证数据ACID100万以内原子性,DDL无事务保证事务保证数据ACID5数据规模单集群 < 10PB单集群 < 10PB单集群 < 10PB7 导入方式
存储架构
多副本
支持多副本单节点故障不影响使用支持
支持手工指定副本数量支持多副本
单节点故障不影响使用1718压缩格式压缩格式支持,LZO,LZ4LZ4,ZSTD,压缩率高LZ4,ZSTD,压缩率高19索引前缀索引,36个字节的前缀索稀疏索引,无限制稀疏索引,稠密索引20物化视图支持,自动选择支持,手工选择物化视图不支持21精确去重支持,支持Bitmap支持支持,支持Bitmap22近似去重支持,支持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/SSSD 15M/S (可加大并发)29
计算能力
SQL兼容性较好差强30并发能力并发能力 100QPS/节点,通过增加副本增加并发100QPS/节点,通过增加副本增加并发100QPS/节点,通过增加副本增加并发31宽表与Join宽表、大小表性能差,大表Join性能好宽表、大小表Join性能优,大表Join性能差宽表、大小表Join性能优,大表Join性能差32编译执行支持不支持不支持33向量化计算支持支持支持34谓词下推强稍弱弱35BroadCast Join支持支持不支持36Shuffle Join支持不支持不支持37Colocate Join支持支持不支持38自定义函数支持暂不支持不支持39支持结果缓存支持查询结果缓存暂不支持,有计划研发不支持40内存字典不支持支持支持41内存表不支持支持支持43扩展性
协议支持JDBC/ODBC协议支持JDBC/ODBC支持JDBC/ODBC44标准SQL兼容标准SQL兼容性稍差兼容标准SQL45容器部署不支持支持支持46外表外查MySQL/ES/Hive的表支持MySQL/Hive的表支持MySQL/Hive的表48管理性
元数据自动同步支持不支持支持49副本自动均衡支持不支持支持50数据备份支持不支持支持51监控和报警支持支持支持52多租户和资源隔离弱支持,强弱53集群间迁移数据弱强,Remote或Copier强 mydumper55权限/安全/审计
权限支持支持,强支持56审计支持支持,强支持 57端到端加密暂无暂无暂无58网络隔离暂无暂无暂无60
优点
Doris更优的方面:
(1)使用更简单,如建表更简单,SQL标准支持更好, Join性能更好,导数功能更强大
(2)运维更简单,如灵活的扩缩容能力,故障节点自动恢复,社区提供的支持更好
(3)分布式更强,支持事务和幂等性导数,物化视图自动聚合,查询自动路由,全面元数据管理
===========================================================================================
ClickHouse更优的方面:
(1)性能更佳,导入性能和单表查询性能更好,同时可靠性更好
(2)功能丰富,非常多的表引擎,更多类型和函数支持,更好的聚合函数以及庞大的优化参数选项
(3)集群管理工具更多,更好多租户和配额管理,灵活的集群管理,方便的集群间迁移工具
===========================================================================================
TiDB更优的方面:
(1)一键水平扩容或缩容,金融级高可用,实时HTAP
(2)云原生的分布式数据库
(3)兼容Mysql5.7协议和Mysql生态
62
共同缺陷
(1)无法高频插入;(2)Update/Delete效率不高;
(3)DDL/DML操作后台异步;
(4)跨数据中心数据一致性不完善63总结
(1)业务场景复杂数据规模巨大,希望投入研发力量做定制开发,选ClickHouse
(2)希望一站式的分析解决方案,少量投入研发资源,选择Doris
(3)对存储容量、可扩展性、并发要求较高的海量数据、高并发的OLTP场景及实时HTAP场景,选择TiDB