ClickHouse和DorisDB的对比:
标准SQL语言支持
ClickHouse:不支持标准SQL语言,无法直接对接主流的BI系统。
DorisDB:支持标准的SQL语言,兼容MYSQL协议,可以直接对接主流的BI系统。
分布式Join
ClickHouse:几乎不支持分布式Join,在分析模型上仅支持大宽表模式。
DorisDB:支持各种主流分布式Join,不仅支持大宽表模型,还支持星型模型和雪花模型。
MPP架构
ClickHouse:Scatter-Gather模式,聚合操作依赖单点完成,操作数据量大时存在明显性能瓶颈。
DorisDB:现代化MPP架构,可以实现多层聚合,能够执行复杂的SQL查询,大表Join,高基数聚合查询等。
精度去重
ClickHouse:对高基数列进行精确去重操作时,受限于单点聚合的处理方式,性能瓶颈明显。
DorisDB:现代化MPP架构,可以实现多层聚合,能有效利用多机资源,保证查询性能。
Exactly Once语义
ClickHouse:数据导入无事务保证,无法保证数据写入的“不丢不重”,订单类场景无法使用。
DorisDB:数据导入有事务保证,可以很容易地实现Exactly Once语义,数据导入“不丢不重”。
集群扩容
ClickHouse:传统MPP数据分布方式,数据扩容时需要进行数据重分布,需要人工操作,工作量巨大,影响线上服务。
DorisDB:现代化MPP数据分布方式,扩容只需要迁移部分数据分片走即可,系统自动完成,不影响线上服务。
运维
ClickHouse:分布式方案依赖Zookeeper,在集群扩大时,Zookeeper会变成性能瓶颈,额外运维和维护成本高。
DorisDB:不依赖任何外部系统,整个系统只要两种进程,自动故障恢复,极简运维。
社区生态
ClickHouse:整个开源社区被俄罗斯把持,在中国没有商业化公司支持,使用上规模后技术支持无法保证。
DorisDB:开源社区的核心研发都是中国人,在国内有商业化公司支持,服务更加本地化,技术支持无障碍。
GreenPlum和DorisDB的对比:
性能
GreenPlum:--
DorisDB:相同硬件条件下,5-10倍的性能优势。
实时分析
GreenPlum:无法对实时数据进行增量聚合计算,较难支持实时数据的分析。
DorisDB:新型的聚合表机制,可以支持实时数据的增量聚合计算,更好的支持DWS层和ADS层服务,更好的支持实时数据的分析。
OLAP多维查询加速
GreenPlum:无加速方案。
DorisDB:新型的预聚合机制,能做到数据自动更新,查询智能路由,令多维查询速度提升10倍以上。
高并发查询
GreenPlum:传统MPP数据分布方式,小查询会极大消耗集群资源,无法实现高效并发查询。并且master只有单节点提供服务,master达到性能瓶颈时无法扩容。
DorisDB:现代化MPP数据分布方式,数据按照分片的方式保存,小查询只需要用到部分机器资源,能极大的提高并发查询量,并且各模块均可线性扩展。
存储结构
GreenPlum:无按列排序支持。
DorisDB:可按照指定列进行排序,更快的查询速度,更高的数据压缩比。
高可用
GreenPlum:传统MPP数据发布方式,数据扩容时需要进行数据重分布,需要人工操作,工作量巨大,影响线上服务。
DorisDB:现代化MPP数据分布方式,扩容时只需要迁移部分数据分片即可,系统自动完成,不影响线上服务。
集群扩容
GreenPlum:分布式方案依赖Zookeeper,在集群扩大时,Zookeeper会变成性能瓶颈,额外运维和维护成本高。
DorisDB:不依赖任何外部系统,整个系统只要两种进程,自动故障恢复,极简运维。
资源利用效率
GreenPlum:各节点备份节点不接受查询请求,计算资源浪费。无法支持统一张数据表冷热数据存放在不同的存储介质,无法有效利用SSD为热数据查询加速。
DorisDB:所有节点都可参与查询处理,提高硬件资源利用率。支持将冷数据存放在不同的存储介质中,支持利用SSD为热数据查询加速。
大数据规模
GreenPlum:由于集群扩容代价太大,所以很难支持较大的数据规模。
DorisDB:集群扩容代价小,可以支持10PB量级数据规模。
总体持有成本
GreenPlum:由于集群扩容代价太大,无法经常进行扩容操作,导致必选提前准备未来较长时间的机器资源和软件授权费,并且集群资源会处于利用率不高的状态。
DorisDB:集群扩容代价小,可以按需进行逐步扩容,总体持有成本低,集群资源利用率高。