技术对比
Apache Doris 和 Trino/Presto 均为主流数据湖仓查询引擎,但 Doris 在性能上表现更具优势。Trino/Presto 主要专注于查询加速,而 Doris 不仅能够加速查询,还具备作为独立数据仓库的能力。企业可以利用 Doris 实现数据仓库和湖仓查询引擎的统一,从而简化其数据架构。
Apache Doris 实现数据仓库与湖仓查询引擎统一,有效简化企业技术栈
相较于 Presto/Trino,Doris 内表查询性能最高提升达 10 倍。
作为湖仓引擎,Doris 执行效率较 Presto/Trino快 2-3 倍。
Cisco WebEx 早期使用多个系统(如 Trino、Pinot、Iceberg 和 Kyuubi)构建数据平台,导致架构复杂、数据重复存储、运维困难、资源利用率低和数据时效性差。通过引入 Apache Doris 替换多个技术栈,实现湖仓一体化,显著提高了查询性能和系统稳定性,并降低了 30%的资源成本。
迁移到 Doris 后,整体查询性能得到大幅提升。之前使用 Presto 进行多维分析时,查询时间长达 20-40 秒,而 Doris 将这一时间缩短至 1-2 秒。此外,Doris 的一大优势在于能够自动识别并匹配最优物化视图进行查询,这进一步增强了系统复杂分析的性能。
使用 Trino 和 SparkSQL 时,系统查询延迟普遍维持在分钟级别,存在明显的性能瓶颈。迁移至 Apache Doris后,整体查询性能提升 2 倍以上。通过 Doris 统一架构,有效解决了混合架构下的数据孤岛与资源冗余问题,更加速了实时分析与交互式即席查询响应。
统一架构: 融合数据仓库与数据湖查询能力
元数据缓存:具备TTL、自动刷新和增量同步的内存元数据缓存能力
数据缓存:通过本地 SSD 热数据缓存减少网络I/O
查询缓存:支持 SQL 缓存与分区缓存
增量刷新:支持增量刷新和多种数据刷新策略
查询透明加速:查询优化器能够自动识别并匹配最优 物化视图进行查询
联邦查询: 擅长跨异构数据源查询,但无内置存储层
数据缓存:依赖于 Alluxio 等外部缓存方案
手动刷新:仅支持人工全量刷新
TPC-DS 1TB 性能测试
TPC-DS 1TB Benchmark 包含 24 张表、63.5 亿条记录的 1TB 数据集,通过 99 条复杂查询(涵盖关联查询、聚合运算及嵌套子查询)评估数据仓库的性能。该测试基于雪花模型构建,模拟真实电商销售场景,由于查询的复杂性,在处理 1TB 规模数据时是一项挑战。
测试环境配置包括:
在测试过程中,使用相同的数据集和相等的计算服务,结果显示:
更多用户故事