一、存储引挚
Clickhouse Mergetree存储用于大数据场景,log存储引挚用于100万及以下场景,后者写排它锁,类似于Mysql myisam引挚。
Doris只有OLAP存储引挚,也就是Google Mesa 实现。
Doris OLAP 与Clickhouse MergeTree 都是类hbase LSM实现,写优化于读。
Doris支持动态分区,Clickhouse官网没看到提及。
二、计算
相同点都是MPP架构。
Clickhouse支持Vectorized与SIMD。Doris支持Vectorized,Simd在收费版本才有。
SIMD指令对大数据处理有10倍+提速,计算性能来说,使用SIMD比开源的Doris更快。
Clickhouse单机每秒50M-200M插入性能,对于单记录1KB大小,每秒5万-20万插入性能。
三、数据模型
Clickhouse的xxxMergetree在Doris都有
Doris数据模型对开发者更为友好,类似于Oracle 物化视图,自动选择合适的Rollup、Materialized View。另外xxxMergeTree在后台处理里,只针对单独part,使用时需要用group by、order by再处理一遍,否则结果不对。Doris做得比较彻底。
Clickhouse需要人工创建local和distribute表,这点不如Doris方便,Doris OLAP engine默认为distribute表,单机即为local。
Clickhouse local表转为distribute表两种操作可选:1.在每台机器运行create local table操作,然后在某台机器运行create distribute操作,巨麻烦。2.事前在配置文件里面配置shard与replica,create table时使用on cluster 。
四、SQL支持
Clickhouse 开窗函数还是试验阶段,不能用于生产。Doris兼容MySQL ,SQL功能更为丰富。
Doris不支持导本地文件系统,Clickhouse支持。
五、运维
对于Shard和Replica维护,Clickhouse需要在配置文件人工配置。Doris全自动,百度在降低运维成本方面做了不少工作。
网友评论