- 支持ROLAP、MOLAP分析场景
- 数据模型支持宽表、星型模型、雪花模型等
- 同时兼顾数据量(PB)、查询性能(秒级)、灵活性(导数与查询灵活多变)
- 数据时效性上支持离线批处理、实时流处理秒级可见
- 数据写入支持Append、Overwrite、Upsert、Delete
- 高可用、灵活扩缩容、低运维成本
- 较高的QPS(高并发)
- 支持分析Hadoop上的数据
在这种“既要又要还要”的诉求下,选型很困难。OLAP 常用的技术架构有预计算、MPP、索引。我们调研了这三类架构的典型 OLAP 引擎:
- **预计算架构:**代表引擎 Apache Kylin/Apache Druid ,查询性能优越,但缺少灵活性。
- MPP 架构:Presto/Apache Impala/SparkSQL,灵活性很好,但性能较差,一般在分钟级。
- 索引架构:ES/ClickHouse,单表查询性能优越,但是 Join 几乎不可用,只能用宽表模型。
单一技术架构的引擎很难满足需求,因此我们把目标瞄向混合架构引擎:同时具有预计算、MPP 计算、支持索引的引擎。目前市面上这类引擎不多,比较成熟的有 Apache Doris 和 StarRocks。最后选择 StarRocks,原因是 StarRocks 的社区更加活跃,产品的背后还有一支大胆创新的强大技术团队,响应非常及时,我们对 StarRocks 的未来更有信心。