美团外卖实时数仓建设与技术选型探索

版权申诉
0 下载量 120 浏览量 更新于2024-07-05 收藏 21.16MB PDF 举报
“3-5+美团外卖实时数仓建设实践.pdf”主要讲述了美团外卖在实时数仓建设中的实践经验,包括实时场景、实时技术选型、实时架构的选择与问题,以及业务痛点。 1. 实时场景 美团外卖的实时场景多样化,涵盖了搜索推荐、用户标签、实时交互、客服支持、风险识别、异常交易检测、商家异常行为监控、配送服务异常预警、系统生产实时监控、系统稳定性与可靠性评估、实时业务变化追踪、实时营销效果分析、当日业务完成度监控和分钟级趋势展示等。这些场景要求数据处理具备高效、精准和及时的特点。 2. 实时计算技术选型 在实时计算技术中,主要对比了Storm和Flink。Storm是一个早期的实时计算框架,无状态处理,窗口支持较弱,采用AtMostOnce的消息投递保证,依赖ACK机制进行容错。虽然稳定可靠,但性能相对较弱。Flink则提供了有状态处理,支持丰富的窗口操作,具备AtLeastOnce甚至ExactlyOnce的语义,性能优于Storm,且具备完善的检查点机制。目前,美团内部正在从Storm平台迁移到更先进的Flink平台。 3. 实时架构 - Lambda架构:由Storm的作者Nathan Marz提出,它包括实时处理和离线批处理两条独立路径,存在逻辑对齐困难、模块多、计算资源浪费以及数据治理复杂等问题。 - Kappa架构:LinkedIn的Jay Kreps提出的概念,强调单一数据流,简化架构,降低维护成本,但可能不适用于所有场景,大数据量回溯成本高,且实时与离线分析可能存在口径差异。 4. 业务痛点 美团外卖在实时数仓建设中面临的主要挑战包括基础功能重复开发、业务逻辑的重复引用,导致业务复用率低和开发成本高昂。数据源多样,如KAFKA、MAFKA、DATABUS和MQ等,使得基础流ETL处理复杂,且不同系统的数据访问困难,增加了数据治理的难度。 5. 解决方案 美团外卖通过构建实时数仓架构,旨在解决以上问题,实现数据的一致性和高效利用。同时,通过平台化建设,推动业务逻辑的标准化和复用,降低开发成本,提高数据处理效率。实时平台的升级和优化,将有助于提升整个系统的稳定性和可靠性,满足日益增长的实时业务需求。