较 Trino 省 67% 成本,速度快 10 倍,中通快递基于 SelectDB 的湖仓分析架构

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 中通快递基于 SelectDB 构建了湖仓分析架构,补齐 OLAP 分析能力。在离线场景中,实现 2000+ QPS 并发点查;在实时场景中,仅以 1/3 原集群机器数量覆盖所有业务,90% 分析任务从 10 分钟缩短至 1 分钟内,投入产出比大幅提升。

导读:中通快递基于 SelectDB 构建了湖仓分析架构,补齐 OLAP 分析能力。在离线场景中,实现 2000+ QPS 并发点查;在实时场景中,仅以 1/3 原集群机器数量覆盖所有业务,90% 分析任务从 10 分钟缩短至 1 分钟内,投入产出比大幅提升。

作者:童孝天,中通快递高级数据工程师

中通快递作为快递行业领军企业之一,年包裹数达数百亿件,市场份额稳定在 20% 左右,展现出强劲的市场竞争力和持续发展态势。在业务规模持续扩张下,其对大数据基础设施建设要求日益提高,对数据处理及分析的需求也持续增加。

中通快递原先使用以 Hadoop 为核心的离线数仓,但随着数据的不断增长、数据处理需求不断变化, Hadoop 这一多套异构的复杂架构逐步暴露瓶颈,面临数据时效性、查询性能、并发能力、维护成本等多种挑战。

在此背景下,引入基于 Apache Doris 内核的 SelectDB 构建了湖仓分析架构,补齐 OLAP 分析能力,为离线、实时分析提供了高效的查询能力。在离线场景中,实现 2000+ QPS 并发点查;在实时场景中,仅以 1/3 原集群机器数量覆盖所有业务,90% 分析任务从 10 分钟缩短至 1 分钟内,投入产出比大幅提升

一、早期架构及挑战

一、早期架构及挑战.PNG

在引入 SelectDB 之前,中通基于 Hadoop 构建离线数仓应对数据分析需求。在业务量高速增长的背景下,该架构面临严峻挑战:

  • 数据时效性不足:离线数仓 T+1 数据抽取产出模式无法满足报表和数据大盘实时更新的需求;
  • 查询性能较差:离线数仓读取、写入等操作均基于 HDFS 进行,耗时普遍为分钟级别,以及 Spark SQL 的处理时间亦为分钟级,严重影响查询效率,无法支持需要秒级响应的交互式分析场景。
  • 查询稳定性与高并发支持能力弱:在超大的 Hadoop 集群规模下,NameNode 的轻微抖动就会严重影响短平快的即席查询和报表分析的稳定性,Trino 在处理高并发查询时效率也远低于预期,难以支撑日益增长的高并发需求。

二、基于 SelectDB 的湖仓分析架构

随着业务的不断发展,昔日双 11 的业务高峰现已成为每日常态。为了满足各大场景对实时分析时效的要求,并确保数据的快速写入和高效查询,亟需合适的 OLAP 引擎来补充现有架构。

1. 技术选型

中通技术团队通过深入的技术调研和测试验证,了解到 基于 Apache Doris 内核构建的 SelectDB。SelectDB 以高效的向量化引擎、Pipeline 执行模式、完善的缓存机制支持、高度兼容的 SQL 语法以及灵活的湖仓分析能力吸引了他们

为了验证 SelectDB 向量化引擎和 Pipeline 执行模式的高性能查询能力,团队进行了多轮对比测试,以评估二者之间的性能差异:

  • 在生产环境 SQL 测试中,单表 100GB 数据量的查询场景下,SelectDB 相比 Trino 有 1-2 倍的性能提升
  • 在 1TB TPC-DS 标准测试中,SelectDB 完成 99 个查询的总耗时仅为 Trino 的 1/5

1. 技术选型.PNG

1. 技术选型-1.PNG

2. 湖仓分析实时架构

中通基于 SelectDB 构建了新一代的湖仓分析架构,其核心是将 SelectDB 作为统一、高性能的查询加速引擎覆盖在数据湖之上。数据依然存储在 Hive 数据湖中,保持其经济性和容纳海量原始数据的能力。

2. 湖仓分析实时架构.png

具体而言,SelectDB 通过 Multi-Catalog 直接对接 Hive Metastore,无需数据迁移即可创建外部表,实现对 Hive 湖中数据的直接、高速查询。为了进一步提升查询体验,中通广泛采用了 SelectDB 的缓存加速、数据预热、索引体系、分区分桶等能力,有效保障了系统的稳定性及查询的高效性。

截止当前,在 OLAP 分析层面, Trino 集群规模已超过 130 台,日峰值响应接近 56 万个查询。相比之下,SelectDB 虽仅拥有三套集群规模,总数为 60 台,但日峰值响应量接近 90 万个查询。这一数据表明,SelectDB 在实时计算的响应能力方面具有显著优势,能够更加高效地满足大量查询需求。

三、场景实践

1. BI 报表与离线分析

在 BI 报表和离线分析场景中,原有 Trino 架构面临查询稳定性差和并发能力不足的双重挑战。特别是在早高峰时段,业务人员集中访问报表系统,频繁出现查询超时和系统卡顿。同时,Trino 和 SparkSQL 在在面对高并发查询时,处理效率与预期存在较大差距。

在查询超时问题上,我们开启了数据缓存(Data Cache)功能,并配置大容量本地磁盘,将热数据持久化缓存。在每日数据就绪后,通过定时任务触发对关键报表数据的预加载,使其在业务高峰前已缓存至本地。避免了查询延迟高的问题,同时降低早高峰期间集中访问导致带宽拉满的问题。在同等查询量下,SelectDB 的慢 SQL(>10s)仅为 Trino 的百分之一

在高并发查询挑战的应对上,中通快递在实时数仓建设阶段,将离线数据 DIM 维度层、应用层的数据通过 SeaTunnel 写入了 SelectDB 中,实现了结果表的查询加速。从而实现 2000+ QPS 并发点查,数据报表更新及时度大大提高

其次,SelectDB 提供了灵活丰富的 SQL 函数公式,并拥有高吞吐量的计算能力,数据分析师、产品经理等业务人员通过可视化报表工具 + SelectDB 即可基本满足 BI 的数据探索需求,大部分查询响应速度都在秒级完成

该场景下,在保持高性能、高并发的同时,显著节约了计算资源,SelectDB 集群规模约为 Trino 的 1/4

2. 实时数据分析

面向决策层和运营监控的实时数据大屏,对查询时效性要求极高,需要支持灵活的多维筛选和聚合分析。该场景涉及一张日增量超 6 亿、总量超 45 亿、字段超 200 列的超级宽表,并需基于该宽表进行分钟级准实时分析

原有 OLAP 引擎在任务增多时,负载过高时,任务执行时效难以保证。比如,当总任务数超 50 时,执行时间达 5-10 分钟,效率极为低下。

因此,基于 SelectDB 以下特性成功解决上述问题:

  • 查询加速:借助倒排、BloomFilter 来支持多维分析,通过合理的分区分桶,在查询时过滤非必要的数据,使数据扫描快速定位,加速查询响应时间。使 90% 以上的查询从 10 分钟左右缩短到 1 分钟内,部分达到秒级,性能提升 10 倍
  • 数据写入秒级可见:SelectDB 支持主键表(Unique Key),并对 Upsert、条件更新/条件删除、部分列更新、分区覆盖等各类更新提供了完备的支持,借助 Flink,可完成对数据的秒级可见,满足高效灵活的数据更新需求

2.2. 实时数据分析.png

注意:对表结构的设计需要结合业务、因地制宜,合理规划 Key 和分区分桶列,一般将 where 条件或者 join 的字段定义成分桶较为合适

在该场景下,SelectDB 仅使用原集群 1/3 的资源就覆盖了所有业务,实现了高效且经济的运行。满足了业务方对数据“既快又准”的严格要求,提升了监控和决策的效率。

四、成果及价值

中通引入 SelectDB 后,查询性能实现巨大飞跃,延迟大幅下降,并发能力显著提升,同时成本大幅降低,系统稳定性与易维护性也得到增强。

未来,中通将会深化与 SelectDB 的合作:

  • 提升易用性:利用 SelectDB 提供的更精炼、直观的 Profile 信息,降低 SQL 调优的难度和复杂度,提升开发运维效率;
  • 增强系统可观测性:强化文件缓存等功能的可观测性,加强数据倾斜处理能力,以提升整个系统的可靠性与可维护性;
  • 深化湖仓一体:加强 Multi Catalog 功能的应用,提升湖仓分析能力,并测试 SelectDB 读写 Hive 外表的能力,实现更灵活的数据流转;
  • 打通权限与集成:推动实现 Hive Catalog 权限通过 JDBC 账号的透传,与公司现有大数据权限体系无缝融合,确保数据安全。
目录
相关文章
|
2月前
|
SQL 人工智能 Apache
Apache Doris 4.0.2 版本正式发布
亲爱的社区小伙伴们,Apache Doris 4.0.2 版本已正式发布。此版本新增了在 AI & Search、函数、物化视图、Lakehouse 等方面的功能,并同步进行了多项优化改进及问题修复,欢迎下载体验!
192 9
|
18天前
|
SQL 存储 人工智能
AI 能力揭秘(五):Apache Doris 原生向量检索的设计及实现
随着大模型和多模态 AI 的快速发展,向量已成为文本、图像、音视频等多元数据的通用语义表示。在这种背景下,检索增强生成(RAG)技术成为连接私有知识与大模型的核心桥梁,而高效的向量检索则是其关键支柱。 与将向量检索视为独立外挂服务的方案不同,Apache Doris 4.0 选择将向量检索能力深度集成于其 MPP 分析型数据库内核。实现向量检索与 SQL 计算、实时分析和事务保障的无缝融合。 本文旨在深入剖析 Doris 向量检索的系统级设计与工程实践,展示其如何在性能、易用性与规模扩展之间取得的平衡。
175 0
AI 能力揭秘(五):Apache Doris 原生向量检索的设计及实现
|
12天前
|
存储 人工智能 Cloud Native
上市大模型企业数据基础设施的选择:MiniMax 基于阿里云 SelectDB 版,打造全球统一AI可观测中台
MiniMax 作为上市大模型企业,基于阿里云 SelectDB 打造 AI 可观测中台,实现“一个平台,全球覆盖”。这一成功实践足以表明:SelectDB 能够很好满足 AI 时代海量数据实时处理与分析的需求,为同样需求的 AI 大模型企业提供了一个高性能、低成本的可靠技术解决方案。
104 5
上市大模型企业数据基础设施的选择:MiniMax 基于阿里云 SelectDB 版,打造全球统一AI可观测中台
|
2月前
|
SQL 关系型数据库 Apache
Apache Doris 实时更新全解:从设计原理到最佳实践|Deep Dive
本文档将作为一份官方指南,系统性地阐述 Apache Doris 的数据更新能力,内容涵盖其核心原理、多样的更新与删除方式、典型的应用场景,以及在不同部署模式下的性能最佳实践,旨在帮助您全面掌握并高效利用 Doris 的数据更新功能。
287 0
Apache Doris 实时更新全解:从设计原理到最佳实践|Deep Dive
|
16天前
|
存储 人工智能 固态存储
构建 AI 数据基座:思必驰基于 Apache Doris 的海量多模态数据集管理实践
面对海量多模态数据管理困境,思必驰通过构建以 Apache Doris 为核心的数据集平台,实现了数据从“散、乱、滞”到“统、明、畅”的转变。在关键场景中,存储占用下降 80%、查询 QPS 提升至 3w,不仅实现可量化的效率提升和成本优化,更系统化地提升了 AI 研发效率与模型质量。
121 0
构建 AI 数据基座:思必驰基于 Apache Doris 的海量多模态数据集管理实践
|
存储 人工智能 运维
阿里云 Tair 基于 3FS 工程化落地 KVCache:企业级部署、高可用运维与性能调优实践
阿里云 Tair KVCache 团队联合硬件团队对 3FS 进行深度优化,通过 RDMA 流量均衡、小 I/O 调优及全用户态落盘引擎,提升 4K 随机读 IOPS 150%;增强 GDR 零拷贝、多租户隔离与云原生运维能力,构建高性能、高可用、易管理的 KVCache 存储底座,助力 AI 大模型推理降本增效。
|
3月前
|
存储 SQL 搜索推荐
货拉拉用户画像基于 Apache Doris 的数据模型设计与实践
货拉拉基于Apache Doris构建高效用户画像系统,实现标签管理、人群圈选与行为分析的统一计算引擎,支持秒级响应与大规模数据导入,显著提升查询效率与系统稳定性,助力实时化、智能化运营升级。
326 14
货拉拉用户画像基于 Apache Doris 的数据模型设计与实践
|
3月前
|
存储 消息中间件 关系型数据库
Apache Doris 数据导入原理与性能优化 | Deep Dive
Apache Doris 数据导入机制基于分布式架构,通过 FE 与 BE 协同实现高效、可靠的数据写入。本文深入解析其核心流程、事务管理与性能瓶颈,涵盖 Stream Load、Broker Load 等多种导入方式,重点剖析 MemTable 前移、存算分离优化等关键技术,并提供表结构设计、攒批策略、分桶配置等实战优化方案,帮助用户在延迟与吞吐间取得平衡,显著提升数据导入效率。
540 4
Apache Doris 数据导入原理与性能优化 | Deep Dive
|
2月前
|
存储 SQL 运维
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
小米早在 2019 年便引入 Apache Doris 作为 OLAP 分析型数据库之一,经过五年的技术沉淀,已形成以 Doris 为核心的分析体系,并基于 2.1 版本异步物化视图、3.0 版本湖仓一体与存算分离等核心能力优化数据架构。本文将详细介绍小米数据中台基于 Apache Doris 3.0 的查询链路优化、性能提升、资源管理、自动化运维、可观测等一系列应用实践。
180 1
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
|
3月前
|
存储 JSON 搜索推荐
深入理解 Doris Variant:如何让 JSON 查询性能追平列存,还能承载万列索引字段?|Deep Dive
在如 Snowflake、ElasticSearch、ClickHouse.... 等传统系统中,对于 JSON 的处理往往面临灵活性及性能无法兼得的困境,而 Apache Doris 的 VARIANT 类型,通过动态子列、稀疏列存储、延迟物化和路径索引等能力,实现了灵活结构 + 列存性能的平衡。本文将对该能力的实现一一讲解,全面展示其优势。
146 7
深入理解 Doris Variant:如何让 JSON 查询性能追平列存,还能承载万列索引字段?|Deep Dive