大叔经验分享(139)doris和clickhouse对比

*** doris clickhouse
官网 http://doris.apache.org/ https://clickhouse.tech/
版本 0.14.0 21.7.2.7
开源
开发语言 * java + c c
安装 源码编译 rpm包
定位 olap olap
架构 mpp scatter-gatter
开发公司 Baidu Yandex
实现 google mesa + impala
存储 自己管理,lsm-tree + compact 自己管理,merge tree
列式
集群 fe主从 zk(read-only mode)、clickhouse-keeper
数据分布 ** 透明 本地表、分布式表
副本 ** tablet、replica(单master) shard、replica(多master)
大表写入 ** 透明 人工分shard做均衡,类似于分库操作
角色 3个fe、至少3个be 至少2个server
高可用 多fe 多server
元数据高可用 支持,berkerlydb shard+replica,/clickhouse_path/metadata,system table
进程守护 第三方 supervisor systemctl
开机启动 第三方 supervisor systemctl
监控 *** prometheus + grafana 只能记录日志文件,第三方 clickhouse-grafana + prometheus
扩容 *** fe和be均可通过命令扩容,扩容后数据自动迁移、无需人工干预 shard扩容、拆环、数据迁移(re-shard),全程都需要人工操作
sql支持 *** 丰富 一般
客户端 ** mysql clickhouse-client、mysql
权限 mysql grant、revoke语句,支持外部(LDAP)
升级 替换安装文件后先逐个重启be,再逐个重启fe 停服,yum upgrade,启动
管理界面 http://ip:8030
jdbc * jdbc:mysql:// jdbc:clickhouse://
Tableau集成 * mysql 其他数据源(odbc)
spark集成 spark connection,可将doris映射到spark view 不支持
flink集成 flink connection 第三方 flink-clickhouse-sink
logstash集成 output 不支持
kafka集成 支持(routine load) 支持(kafka engine)
数据导入 ** http(file、csv、json)、broker(hdfs、hive)、routine(kafka)、外部表 http、mysql、kafka
导入事务控制 ** 支持,transaction id 不支持
表分区 *** 支持,Range、List 支持,日期类型
表分桶 *** 支持 不支持
join *** hash、broadcast、colocate、bucket hash、merge(两个及以上大表)
多租户 * 实验阶段,cluster
预聚合 *** 支持,可根据场景自定义任意rollup 支持,MergeTree系列
自定义聚合前后顺序 支持,sequence column 不支持
rollup *** 支持,Aggregate表 不支持
物化视图 *** 支持,单表,rollup的超集 支持,to table,populate,live
物化视图使用 *** 透明 显式指定
外部表 *** odbc(mysql、oracle、postgre)、es(支持Pushdown)、hive database(mysql、postgre)
表类型 Aggregate、Unique、Duplicate MergeTree、ReplacingMergeTree
主索引 prefix sparse index sparse index(primary key),索引进内存
排序列 prefix,36byte sort by
其他索引 bloomfilter、bitmap data skipping indexes(minmax/set/bloom_filter/ngrambf/tokenbf),人工添加
行分组 1024 index_granularity=8192
primary key 有,可重复
多磁盘 *** 支持多磁盘,ssd和hdd,根据分区策略自动冷热数据分离 支持多磁盘,ssd和hdd,根据分区策略自动冷热数据分离(TTL)
自动创建新日期型分区 支持
动态分区 支持
bitmap类型 *** 支持 支持
表切换 * 支持,replace 支持,exchange
分区切换 * 支持 不支持
数据更新 append、delete、merge MergeTree支持,mutation,高成本
数据删除 支持,标记 + compact MergeTree支持,mutation,高成本
修改表结构 支持,时间较长 支持,很快,merge之后数据生效
数据备份 ** 支持,远程(hdfs) 不支持,人工备份(备份kafka数据、文件系统快照、clickhouse-copier)
数据恢复 ** 支持,远程(hdfs) 不支持,人工恢复
集群均衡 ** 支持,BeLoad磁盘占用、Partition数量 不支持,大表需要人工re-shard
表删除恢复 支持,回收站 支持,drop时只删除元数据,后台根据database_atomic_delay_before_drop_table_sec做实际删除
CPU SIMD加速 ** 暂不支持 支持
压缩 lz4 Codecs(LZ4/LZ4HC/ZSTD),Specialized Codecs(Delta/DoubleDelta/Gorilla/T64)
UDF 支持,c 支持,c
HLL 支持 支持
采样 不支持 支持
查看profile 支持,命令打开,页面查看 sampling query profiler
云托管 不支持 阿里云、腾讯云、金山云等
限制 count慢 join弱
posted @ 2022-05-20 18:01  匠人先生  阅读(1982)  评论(0编辑  收藏  举报