您现在的位置是:深圳市东方朗云科技有限公司 > 公司新闻
钱大妈数据中台建设最佳实践
深圳市东方朗云科技有限公司26-05-10【公司新闻】5人已围观
简介钱大妈数据中台建设以业务为导向,通过合理选型和架构设计,实现了高效的数据处理和业务赋能,以下是其最佳实践的详细介绍:一、项目背景与目标钱大妈作为社区生鲜连锁行业的开拓者,以“不卖隔夜肉”为理念,全国布局近30座城市,门店总数突破3000家。为支撑业务发展,钱大妈建设全渠道数据中台,承载交易侧数据,贴近业务一线,为运营和...
钱大妈数据中台建设以业务为导向,通过合理选型和架构设计,实现了高效的数据处理和业务赋能,以下是其最佳实践的详细介绍:
一、项目背景与目标钱大妈作为社区生鲜连锁行业的开拓者,以“不卖隔夜肉”为理念,全国布局近30座城市,门店总数突破3000家。为支撑业务发展,钱大妈建设全渠道数据中台,承载交易侧数据,贴近业务一线,为运营和业务人员提供数据分析服务,挖掘数据背后的业务价值,支持实时计算和数据埋点,从数据驱动业务理念出发,为业务发展保驾护航。
二、架构和中间件选型- 选型原则:以业务为导向,希望架构易于运维管理,功能性尽可能统一,将更多精力和时间用在业务思考和数据赋能应用上。
- 硬需求:包括离线计算引擎、实时计算引擎、OLAP数据库、KV数据库、数据集成组件、分布式存储系统。
- 软需求:计算资源可弹性调整、易于运维且组件链路尽可能短、批流统一。
- 最终选择:基于云原生的全托管大数据解决方案,即DataWorks + Maxcompute + Hologres + Flink。各组件定位如下:
DataWorks:一站式管理平台,负责数据的集成、开发、运维、服务等。
Maxcompute:离线分布式计算引擎。
Hologres:查询性能快,支持在线OLAP、KV点查、实时读写。
Flink:高性能实时计算系统。
- 应用场景:主要应用在业务接口加速查询场景。
- 建设过程:
确定架构和中间件后,云组件开通到VPC网连通一天内完成,快速投入业务数据集成接入和数据分域建模工作,在Dataworks对应模块上完成这两项大工程。
数据接入时,无需部署Kafka + Canal组件完成业务数据库的Binlog订阅和AirFlow等组件负责任务调度管理,通过DataWorks的数据集成模块,“一键”实时和离线同步业务数据到Maxcompute和Hologres。
数据建模方面,在DataWorks上基于Kimball维度建模范式梳理业务板块、业务过程,进行数据分域、维表事实表定义等操作,并用FML建模语言将逻辑模型落实到物理模型。
业务接口查询加速上,将MaxCompute的数据离线调度至Hologres内表,10万级别数据1秒即可完成同步(100,000/s)。
- 选择Hologres的原因:
安全:接入RAM鉴权,权限管理方便安全。
索引丰富:根据不同查询场景,选择不同存储模式(行存或列存),提供专属索引支持。
少数据冗余:在一个系统内满足KV和OLAP两个场景,减少跨系统带来的数据冗余。
- 架构迭代:分阶段先后实现纯离线、离线 - 实时的Lambda架构迭代。
- 具体实现:
同步:利用DataWorks的数据集成功能,实时订阅同一份Binlog日志,双写到Hologres和MaxCompute两个系统。
离线链路:对于时效性不敏感且计算复杂的场景,如用户画像、人货场标签体系、促销效果复盘等,通过MaxCompute进行离线ETL计算生成,最后汇集到Hologres做查询加速。
实时链路:对于实时性要求高的场景,如实时看板、风控感知、规则报警等,通过Hologres + Flink组合实现。新增实时计算引擎Flink后,扩展出新的实时链路:Hologres(source) -> Flink -> Hologres(Sink),得益于两个组件原生适配。
- 解决联邦计算问题:Lambda架构下实时和离线计算结果的联邦计算问题,通过Hologres的内表和外表结合特性解决。实时计算结果存储在内表,离线计算结果存储在MaxCompute上,通过外表访问,且Hologres在底层和MaxCompute数据无缝连接,方便联通离线和实时数据。
- 实时和准实时数据层实现:
DWD层:实时打宽 + 冷热链路。如订单业务场景,近30天热数据用Flink实时写入Hologres内表,超30天数据归档或直接访问存储在MaxCompute上的数据,实现冷热数据分层。利用Hologres支持PK的特性,通过“Insert on Conflict”语义定期对实时写入数据进行滚动补漏、数据回刷等数据兜底机制,确保数据层具备“自修复”能力。
DWS层:微批调度/逻辑视图 + 联绑查询。如BI场景,业务可接受5 - 10分钟左右延迟,通过结合微批调度和逻辑视图计算DWS层,用于支持BI数据接口和业务即席查询。通过内外表形式实现数据冷热分层,冷数据视情况存储于MaxCompute通过外表访问或同步进Hologres内表加速查询速度,最后在Hologres进行查询时合并,达到联绑查询效果。
- 系统需求:实时风控系统需结合业务记录和埋点日志在线甄别异地支付、大笔异常订单、消费终端变更等风险事件,实时触发风险应对动作,为风控专员提供及时数据支撑和快速反应能力。
- 数据流生命周期:实时风控数据流的整个生命周期都经过Hologres。数据源Binlog、实时维表点查、OLAP分析,风控全链路由Binlog进行事件式驱动,Hologres在开启Binlog模式下提供底层Binlog信息查询,方便定位消费位点和复盘消费情况。维表点查场景可使LRU、微批写入等优化手段进行Lookup Join性能优化。最终将结果信息实时写回Hologres提供在线分析和即席查询应用,也可实时推到其它业务关联触达系统,进行业务端拦截、系统报警等一系列风险应对动作,完成风控场景闭环。
- 资源成本降低:零硬件资源成本,各环节支持资源弹性伸缩,灵活应对各种数据高峰场景。
- 运维成本降低:全托管式运维,减轻运维成本,让更多精力集中在业务逻辑开发。
- 架构简单:将OLTP、OLAP和KV三个场景集成于一个系统(Hologres),缩短中间件链路。
- 架构生态兼容度高:Hologres与离线计算引擎(MaxCompute)、实时计算引擎(Flink)、DataWorks兼容程度高,融于云原生生态,易开发适配。
- 资源隔离:希望Hologres通过例如租户的形式实现自定义的资源隔离,而非现在通过不同实例进行隔离。
- 分时弹性:根据业务不同峰值时段弹性调整资源,节省用户成本。
- 物化视图:截至Hologres 0.10版本尚未支持,有了物化视图可一定程度上减少微批调度场景。
- 内表冷热分层:现在将冷数据存储于MaxCompute上,查询速度与内表有差距,希望在内表上实现冷热数据分层。
很赞哦!(36)