文章目录
简介
近些年,企业对数据服务实时化服务的需求日益增多。本文整理了常见实时数据组件的性能特点和适用场景,介绍了美团如何通过 Flink 引擎构建实时数据仓库,从而提供高效、稳健的实时数据服务。
一、实时平台初期架构
在实时数据系统建设初期,由于对实时数据的需求较少,形成不了完整的数据体系。我们采用的是“一路到底”的开发模式:通过在实时计算平台上部署 Storm 作业处理实时数据队列来提取数据指标,直接推送到实时应用服务中。
但是,随着产品和业务人员对实时数据需求的不断增多,新的挑战也随之发生。
- 数据指标越来越多,“烟囱式”的开发导致代码耦合问题严重。
- 需求越来越多,有的需要明细数据,有的需要 OLAP 分析。单一的开发模式难以应付多种需求。
- 缺少完善的监控系统,无法在对业务产生影响之前发现并修复问题。
二、实时数仓的构建
为解决以上问题,我们根据生产离线数据的经验,选择使用分层设计方案来建设实时数据仓库,其分层架构如下图所示: