
随着美团业务规模持续增长数据分析系统所面对的问题已经不再只是查询更快而是如何在多业务、多场景、多负载并存的情况下构建一套长期可演进的统一 OLAP 架构。基于此美团 OLAP 平台完成了从多引擎并存到基于 Apache Doris 构建统一分析引擎再到大规模集群治理、无感升级和 AI 场景演进的建设过程。本文将围绕整体架构、核心能力建设与无感升级介绍美团在 Doris 体系下的 OLAP 实践。分享基于 CCR 支撑300 集群、10w 核计算资源 、数十 PB 数据规模的平滑升级并带来整体查询与导入性能约20%–40%的提升部分极端场景可达50%。本文整理自美团技术专家在 Apache Doris 线上活动中的分享。美团 OLAP 场景特点与挑战美团业务高度依赖数据分析战略决策、产品迭代、经营分析及营销活动都需要实时、准确的数据支撑。随着业务持续增长美团 OLAP 平台主要面临四大挑战低延迟要求高绝大多数分析报表需要秒级响应部分 ToB 场景要求亚秒级返回。数据规模持续增长核心业务数据已达千亿级以上传统数仓难以兼顾海量数据与低延迟查询。分析场景复杂多样交易、经营、用户、流量、商户等业务并存对查询模式、并发能力、数据新鲜度和稳定性提出不同要求。从 BI 向 AI 演进随着各业务线 BI 系统逐步整合底层平台不仅要支撑统一分析还需要满足 AI 应用带来的复杂查询和弹性计算需求。典型业务包括外卖经营分析按蜂窝组织统计交易额、用户数等指标。由于组织结构动态变化、业务逻辑复杂难以依赖预计算宽表需要 MPP、Colocate Join 和列式存储支撑海量多表关联分析。到店餐饮 BD 人效分析涉及上百个维度、数十项聚合指标以及绩效考核所需的精确去重对 Bitmap 去重、预计算和查询性能要求较高。商户经营报表面向 B 端商户提供实时查询主要基于商家 ID 等高选择性字段进行高并发点查对低延迟、高并发和高可用性要求极高。这些场景决定了美团需要一套统一的 OLAP 数据平台能够同时支持复杂分析、精确去重、高并发点查、实时导入、离线加工及多业务统一治理并为 AI-Native 数据应用提供底层支撑。从多引擎并存到 Apache Doris 统一 OLAP 架构美团早期 OLAP 架构依赖 Hadoop、Kylin、Druid 等多个引擎多引擎并存带来了维护、存储和使用成本上升的问题。因此美团开始建设统一 OLAP 引擎并选择通用性和性能较好的 Apache Doris。到 2020 年美团已将全部存量及新增 OLAP 需求整合到统一 Doris 体系中。从整体数据平台视角看用户行为数据、DB 数据、日志数据统一采集到 Kafka 后分别进入实时和离线链路实时链路数据由 Flink 消费经过实时处理后写入 Doris支撑实时看板、经营监控和在线分析离线链路数据进入 Hive/HDFS 离线数仓通过 Spark、Hive 完成清洗、汇总和建模后再同步到 Doris对外提供高性能查询服务。在美团内部大数据处理主要分为三类场景数仓加工。主要负责用户行为、DB、日志数据的清洗、转换和汇总。该场景数据规模极大每天处理量达到百 PB 级别单个作业可能超过 100TB对吞吐和稳定性要求很高。即席查询。面向更加灵活的数据探索通常在 Presto 和 Spark 上完成需要在数据规模和查询性能之间取得平衡。OLAP 分析。面向相对确定但性能要求极高的查询模式包括固定报表、经营分析、商户分析、流量分析等。当前 100% OLAP 查询请求由 Doris 承载。在这一架构中Apache Doris 位于数据服务层向上承接业务报表、经营分析、商户服务和流量分析等应用向下承接实时链路和离线数仓加工后的数据结果。它不仅承担低延迟查询职责也负责支撑高并发访问、复杂多表分析、精确去重、实时写入和离线加工结果的统一服务是美团统一 OLAP 架构中的核心分析引擎。美团对 Apache Doris 社区的贡献Colocate Join支撑复杂经营分析在外卖经营分析等场景中经常需要进行多表关联查询。传统 Shuffle Join 在分布式系统中会产生大量跨节点网络传输容易导致查询超时。为解决这一问题美团提出了 Colocate Join 的想法提前对数据进行分布和组织使 Join 相关的数据尽可能分布在同一节点上从而减少跨网络数据传输。在内部验证中Colocate Join 使关联查询性能平均提升约 3 倍有效解决了外卖经营分析中大规模关联查询超时的问题。相关能力也回馈给 Apache Doris 社区帮助更多用户解决类似场景下的 Join 性能问题。Bitmap 精确去重支撑流量与用户分析在流量分析场景中DAU 计算、用户留存分析、用户行为分析等高度依赖精确去重能力。美团围绕 Doris Bitmap 能力进行了大量优化尤其是在数据分布方面通过控制数据分布基数提高单用户基数下的整体精确去重性能。经过优化后系统能够支持百亿级数据量的单 SQL 查询在亿级和数亿基数下指标计算性能平均提升 45 倍单表查询可在 10 秒内返回结果。这一能力使 Doris 能够更好地承接原本由 Kylin 等预计算引擎承担的精确去重分析场景。Spark on Doris隔离生产与查询负载部分业务场景要求在 10 分钟内完成数据生产、加工和落地。如果将复杂加工逻辑直接压在 Doris 中执行容易与在线查询产生资源竞争影响查询稳定性。为此美团基于 Doris Spark Connector 构建了 Spark on Doris 架构。该架构利用 Spark 的稳定计算能力完成复杂数据加工再将结果写入 Doris 提供查询服务。这一模式带来了几个收益支持跨集群读写能力避免重复计算逻辑。将复杂数据加工放在 Spark 执行降低 Doris 计算压力。通过 SQL 接口衔接 Doris 到 Doris 的数据加工任务。实现数据生产和在线查询的资源隔离提升整体稳定性。大规模集群升级架构持续演进中的关键实践随着 Doris 使用规模持续扩大美团 OLAP 平台进入了新的阶段。平台中 Doris 集群数量超过 300 个计算资源达到数 10w 核数据规模达到数十 PB。在这一阶段系统面临的核心问题不是单点性能优化而是多版本、多集群、多业务并存带来的系统性治理压力。由于历史原因不同业务线在不同阶段引入了不同版本的 Doris系统长期处于 0.1 到 2.x 多版本并存状态。不同版本之间存在功能差异、语义差异和运维方式差异使得问题排查、能力迭代和统一治理变得越来越困难。为什么不能直接原地升级原地升级在工程上风险很高。由于版本跨度较大中间涉及多轮升级路径和元数据结构变化一旦升级失败可能出现无法回滚的问题。传统全量重导或 backup restore 方案也难以满足要求。单集群数据规模可达 PB 甚至 10PB 级别完整迁移耗时长、风险高并且难以避免停机窗口。双写方案虽然在部分场景可行但业务改造成本高链路复杂难以在数百个集群中统一推广。因此这一问题最终收敛为一个核心约束在尽量不影响业务连续性的前提下实现 PB 级数据系统的平滑升级。CCR 解决方案在多种方案评估之后美团选择基于 Doris CCR 能力构建升级体系。CCR 的核心机制是基于 binlog 的变更捕获与重放。源集群将数据和元数据变更记录为 binlog目标集群持续消费并重放这些变更从而实现跨集群增量同步。这一机制将传统“离线数据搬迁”转变为“持续增量追平”。新集群可以在后台持续同步旧集群数据。当两侧数据延迟收敛到可接受范围后再通过域名切换完成流量迁移实现对业务几乎无感的升级。工程化落地与回滚保障在实际落地中美团构建了新旧集群并行体系。新版本集群通过 CCR sink 持续接收 binlog在完成存量回放后进入增量同步阶段。切换时团队采用双域名与双跑机制保证安全性。Kafka 与 Hive 等导入任务在新旧集群同时运行确保数据链路一致并在观察期内保留快速回滚能力。数据验证是整个升级链路中的关键环节。早期仅依赖 SQL 回放无法覆盖真实业务场景因此团队引入业务侧端到端验证机制从业务语义层面验证新旧集群一致性降低迁移风险。升级与治理同步推进在升级过程中团队同步开展了大规模数据治理。例如治理元数据膨胀、控制副本规模、清理异常元数据结构、统一集群健康状态等。这些治理工作并不是附加优化而是升级成功的前置条件。部分历史集群存在严重元数据膨胀问题副本数量甚至达到千万级规模在极端情况下会影响 FE 节点恢复。如果不先完成治理迁移和升级本身也会面临较大风险。围绕 CCR 体系团队还进行了多项工程增强包括将 CCR 能力 backport 到低版本集群将 DB 级串行同步优化为表级并行执行并修复跨版本精度差异、优化器行为差异和性能回退问题。通过这些工作美团将“以停机换升级”的传统模式转变为“以数据持续追平驱动系统演进”的模式提升了 OLAP 架构的长期演进能力。升级治理效果团队基于 CCR 构建了PB 级数据规模下的无感升级体系支撑300 集群平滑升级。升级与治理完成后整体查询与导入性能提升约20%–40%部分极端场景提升可达50%系统稳定性也得到明显改善。未来规划面向 AI 的数据基础设施演进AI Agent 正在改变数据系统的使用方式。未来 OLAP 系统不再只服务于传统 BI 查询还需要支撑 AI Agent、自动化分析、智能运维和智能问数等新型负载。为适应这一趋势美团正在建设统一查询与接口层将 SQL 查询、运维诊断和数据访问能力进行统一抽象为上层 AI 应用提供标准化、安全可控的数据交互方式。同时美团也在探索智能运维 Agent用于自动分析大查询、数据倾斜、节点异常等问题并逐步形成自动诊断能力。如何构建面向 Agent 的观测、评测和治理体系也将成为下一阶段的重要课题。我们了解到Apache Doris 正在围绕 Agent Native 场景增强相关能力基于混合检索分析、VARIANT、倒排索引、排序键、分区裁剪和缓存机制为 Agent 运行过程中的 trace、事件、查询、评测结果和多租户观测提供高性能数据底座。在此基础上Litefuse以 Doris 为底座进一步构建面向 Agent 的可观测与评估平台可实现 Agent 全链路可追踪、过程可分析、效果可量化和能力可持续改进。后续我们也将积极尝试相关方向。