
本文整理自美团技术专家在 Apache Doris 线上活动中的分享。
随着美团业务规模持续增长,数据分析系统所面对的问题已经不再只是查询更快,而是如何在多业务、多场景、多负载并存的情况下,构建一套长期可演进的统一 OLAP 架构。
基于此,美团 OLAP 平台完成了从多引擎并存,到基于 Apache Doris 构建统一分析引擎,再到大规模集群治理、无感升级和 AI 场景演进的建设过程。本文将围绕整体架构、核心能力建设与无感升级,介绍美团在 Doris 体系下的 OLAP 实践。分享基于 CCR 支撑 300+ 集群、10w 核计算资源 、数十 PB 数据规模的平滑升级,并带来整体查询与导入性能约 20%–40% 的提升,部分极端场景可达 50%。
01
美团 OLAP 场景特点与挑战
美团业务高度依赖数据分析,战略决策、产品迭代、经营分析及营销活动都需要实时、准确的数据支撑。随着业务持续增长,美团 OLAP 平台主要面临四大挑战:
典型业务包括:
这些场景决定了,美团需要一套统一的 OLAP 数据平台,能够同时支持复杂分析、精确去重、高并发点查、实时导入、离线加工及多业务统一治理,并为 AI-Native 数据应用提供底层支撑。
02
从多引擎并存到 Apache Doris 统一 OLAP 架构
美团早期 OLAP 架构依赖 Hadoop、Kylin、Druid 等多个引擎,多引擎并存带来了维护、存储和使用成本上升的问题。因此,美团开始建设统一 OLAP 引擎,并选择通用性和性能较好的 Apache Doris。到 2020 年,美团已将全部存量及新增 OLAP 需求整合到统一 Doris 体系中。
从整体数据平台视角看,用户行为数据、DB 数据、日志数据统一采集到 Kafka 后,分别进入实时和离线链路:

在美团内部,大数据处理主要分为三类场景:
在这一架构中,Apache Doris 位于数据服务层,向上承接业务报表、经营分析、商户服务和流量分析等应用,向下承接实时链路和离线数仓加工后的数据结果。它不仅承担低延迟查询职责,也负责支撑高并发访问、复杂多表分析、精确去重、实时写入和离线加工结果的统一服务,是美团统一 OLAP 架构中的核心分析引擎。
03
美团对 Apache Doris 社区的贡献
在外卖经营分析等场景中,经常需要进行多表关联查询。传统 Shuffle Join 在分布式系统中会产生大量跨节点网络传输,容易导致查询超时。
为解决这一问题,美团提出了 Colocate Join 的想法:提前对数据进行分布和组织,使 Join 相关的数据尽可能分布在同一节点上,从而减少跨网络数据传输。

在内部验证中,Colocate Join 使关联查询性能平均提升约 3 倍,有效解决了外卖经营分析中大规模关联查询超时的问题。相关能力也回馈给 Apache Doris 社区,帮助更多用户解决类似场景下的 Join 性能问题。

在流量分析场景中,DAU 计算、用户留存分析、用户行为分析等高度依赖精确去重能力。
美团围绕 Doris Bitmap 能力进行了大量优化,尤其是在数据分布方面,通过控制数据分布基数,提高单用户基数下的整体精确去重性能。

经过优化后,系统能够支持百亿级数据量的单 SQL 查询,在亿级和数亿基数下,指标计算性能平均提升 4~5 倍,单表查询可在 10 秒内返回结果。

这一能力使 Doris 能够更好地承接原本由 Kylin 等预计算引擎承担的精确去重分析场景。
3.3 Spark on Doris:隔离生产与查询负载
部分业务场景要求在 10 分钟内完成数据生产、加工和落地。如果将复杂加工逻辑直接压在 Doris 中执行,容易与在线查询产生资源竞争,影响查询稳定性。
为此,美团基于 Doris Spark Connector 构建了 Spark on Doris 架构。该架构利用 Spark 的稳定计算能力完成复杂数据加工,再将结果写入 Doris 提供查询服务。

这一模式带来了几个收益:
04
大规模集群升级:架构持续演进中的关键实践
随着 Doris 使用规模持续扩大,美团 OLAP 平台进入了新的阶段。平台中 Doris 集群数量超过 300 个,计算资源达到数 10w 核,数据规模达到数十 PB。
在这一阶段,系统面临的核心问题不是单点性能优化,而是多版本、多集群、多业务并存带来的系统性治理压力。
由于历史原因,不同业务线在不同阶段引入了不同版本的 Doris,系统长期处于 0.1 到 2.x 多版本并存状态。不同版本之间存在功能差异、语义差异和运维方式差异,使得问题排查、能力迭代和统一治理变得越来越困难。

原地升级在工程上风险很高。由于版本跨度较大,中间涉及多轮升级路径和元数据结构变化,一旦升级失败,可能出现无法回滚的问题。
传统全量重导或 backup restore 方案也难以满足要求。单集群数据规模可达 PB 甚至 10PB 级别,完整迁移耗时长、风险高,并且难以避免停机窗口。
双写方案虽然在部分场景可行,但业务改造成本高,链路复杂,难以在数百个集群中统一推广。
因此,这一问题最终收敛为一个核心约束:在尽量不影响业务连续性的前提下,实现 PB 级数据系统的平滑升级。
4.2 CCR 解决方案
在多种方案评估之后,美团选择基于 Doris CCR 能力构建升级体系。

CCR 的核心机制是基于 binlog 的变更捕获与重放。源集群将数据和元数据变更记录为 binlog,目标集群持续消费并重放这些变更,从而实现跨集群增量同步。
这一机制将传统“离线数据搬迁”转变为“持续增量追平”。新集群可以在后台持续同步旧集群数据。当两侧数据延迟收敛到可接受范围后,再通过域名切换完成流量迁移,实现对业务几乎无感的升级。
4.3 工程化落地与回滚保障
在实际落地中,美团构建了新旧集群并行体系。

新版本集群通过 CCR sink 持续接收 binlog,在完成存量回放后进入增量同步阶段。
切换时,团队采用双域名与双跑机制保证安全性。Kafka 与 Hive 等导入任务在新旧集群同时运行,确保数据链路一致,并在观察期内保留快速回滚能力。
数据验证是整个升级链路中的关键环节。早期仅依赖 SQL 回放无法覆盖真实业务场景,因此团队引入业务侧端到端验证机制,从业务语义层面验证新旧集群一致性,降低迁移风险。
在升级过程中,团队同步开展了大规模数据治理。例如治理元数据膨胀、控制副本规模、清理异常元数据结构、统一集群健康状态等。
这些治理工作并不是附加优化,而是升级成功的前置条件。部分历史集群存在严重元数据膨胀问题,副本数量甚至达到千万级规模,在极端情况下会影响 FE 节点恢复。如果不先完成治理,迁移和升级本身也会面临较大风险。
围绕 CCR 体系,团队还进行了多项工程增强,包括将 CCR 能力 backport 到低版本集群,将 DB 级串行同步优化为表级并行执行,并修复跨版本精度差异、优化器行为差异和性能回退问题。
通过这些工作,美团将“以停机换升级”的传统模式,转变为“以数据持续追平驱动系统演进”的模式,提升了 OLAP 架构的长期演进能力。
团队基于 CCR 构建了 PB 级数据规模下的无感升级体系,支撑 300+ 集群平滑升级。升级与治理完成后,整体查询与导入性能提升约 20%–40%,部分极端场景提升可达 50%,系统稳定性也得到明显改善。
05
未来规划:面向 AI 的数据基础设施演进
AI Agent 正在改变数据系统的使用方式。未来 OLAP 系统不再只服务于传统 BI 查询,还需要支撑 AI Agent、自动化分析、智能运维和智能问数等新型负载。
为适应这一趋势,美团正在建设统一查询与接口层,将 SQL 查询、运维诊断和数据访问能力进行统一抽象,为上层 AI 应用提供标准化、安全可控的数据交互方式。
同时,美团也在探索智能运维 Agent,用于自动分析大查询、数据倾斜、节点异常等问题,并逐步形成自动诊断能力。如何构建面向 Agent 的观测、评测和治理体系,也将成为下一阶段的重要课题。
我们了解到,Apache Doris 正在围绕 Agent Native 场景增强相关能力,基于混合检索分析、VARIANT、倒排索引、排序键、分区裁剪和缓存机制,为 Agent 运行过程中的 trace、事件、查询、评测结果和多租户观测提供高性能数据底座。在此基础上,Litefuse(litefuse.ai)以 Doris 为底座,进一步构建面向 Agent 的可观测与评估平台,可实现 Agent 全链路可追踪、过程可分析、效果可量化和能力可持续改进。后续我们也将积极尝试相关方向。
