OLAP常见引擎对比

在使用与Doris同源的StarRocks时,感到爱恨交织,遂列出常见的组件对比供参考。

关于StarRocks,计算效率很高、在兼容MySQL协议同时,自身可以存储并提供分析、快速映射HDFS数据,从能力上讲没得挑;但产品不成熟的问题也足够严重,部分常见函数和语法不支持、开发模式过于严格等。

如果在选用技术型之后,能够有效投入研发资源进行维护,StarRocks还是一个很不错的选择。

 

 

正文:

 

Impala

优点:① 基于内存,节省I/O;② 直接访问HDFS或HBase数据作业调度,速度快。

缺点:① 对内存依赖大;② 实践中,分区超过1万,性能严重下降;③ 只能读取文本文件,而不能直接读取自定义二进制文件。

易用性:类SQL

自身存储:

 

Presto

优点:① 基于内存,节省I/O;② 能够连接多个数据源,跨数据源连表查询。

缺点:①对内存依赖大;② 不支持UDF。

易用性:SQL标准

自身存储:

 

ClickHouse

优点:① 列存储;② 单机性能彪悍;③ 保留明细;④ 向量化引擎。

缺点:① 集群在线扩展不佳;② 运维成本高。

易用性:非标准协议接口

自身存储:

 

Doris

优点:① Mesa+Impala;② 主键更新;③ 支持 Rollup tale;④ 高并发高吞吐的Ad-hoc查询。

缺点:① 成熟度不足;② 应用不广泛。

易用性:兼容MySQL协议

自身存储:

 

Druid

优点:① 实时数据摄入;② 列式存储和位图索引;③ 多租户和高并发。

缺点:① OLAP性能分析场景表现差异大;② 使用门槛高。

易用性:非标准协议接口

自身存储:

 

TIDB

优点:① 100%OLTP+80%OLAP;② 同时明细和举个查询;③ 支持更新。

缺点:① 非列式存储;② OLAP能力欠佳。

易用性:SQL标准

自身存储: