客户案例 > 案例详情
飞书深诺基于 Flink+Hudi+Hologres 的实时数据湖建设实践

飞书深诺实时数仓建设将以游戏运营业务为典型场景进行方案设计,综合业务时效性、资源成本和数仓开发运维成本等考虑,基于Flink+Hudi+Hologres构建阿里云云原生实时湖仓。

客户介绍

飞书深诺集团致力于在出海数字营销领域提供全链路服务产品,满足不同企业的全球化营销需求。在广告效果监控和游戏运营业务场景中,为及时响应广告投放成效和消耗方面的问题,并及时监测运营效果,实时或准实时数据处理提供了重要的技术支撑。

业务挑战

飞书深诺在改造前的大数据架构如下:

当前飞书深诺数据架构主要聚焦于处理离线数据场景,在数据处理流中,飞书深诺使用Flink将Kafka的数据写入MaxCompute来生成ODS层的数据,再使用ODPS-SQL任务进行ETL后生成DW层数据,然后将ADS层数据写入Holo,来对外提供数据服务,任务调度频次是按天或者按小时。基于统一公司大数据架构的背景,为满足部分业务方对实时性的要求,需要对当前架构进行升级,将实时数据处理纳入架构考量。重点决策如下:

  1. 选择具有良好扩展性的存储和计算解决方案,以便能够适应未来日志协议的演进。

  2. 实现实时数据处理的链路成本与时效性之间的合理平衡。

阿里云的解决方案
搭建实时数仓

阿里云Hologres是一款存储计算分离的云原生产品,支持存储、计算分别按需扩展以及Serverless模式的湖仓加速能力,在扩展性方面有更多的优势。此外,Hologres作为一款商业化产品,更加稳定和成熟,且有庞大的运维团队提供专项支持。

数据处理的时效性上,在阿里云Hologres和Doris的集群硬件对齐的情况下,以TPCH 100 GB测试集测试效果来看,Hologres相比于Doris有3倍以上的性能提升。此外,基于广告效果监控数据实测发现,Hologres性能超过两倍以上。因不同OLAP业务查询处理逻辑不同,此处是基于TPCH标准测试集的测试结果,供参考:

实时计算方案

基于业务的时效性、资源、开发运维成本和计算复杂度的支持情况综合考虑,业务场景特点(每秒写入RPS不超过2万、业务看板数据新鲜度为10分钟),采用了阿里云Flink=>Hudi=>Hologres这种方案。该方案直接通过外表机制在Hologres中进行实时加工或建设视图,实现数据的实时同步和处理,确保数据能够在短时间内被处理并提供给下游系统。方案采用数仓同学比较熟悉的云原生组件Hologres,使得数仓开发同学没有任何额外的开发和运维成本。

该架构不仅实现了当前项目所需的时效性,还保持了系统的灵活性和可维护性。既能满足当前离线架构的需求(Hudi可以被MaxCompute引擎直接读取),又能满足未来更高时效(<=5分钟)的诉求,因为Hudi可以开启CDC模式,实时方案可以演变成Flink=>Hudi-CDC=>Flink=>Hologres的架构,实现快速满足业务更高时效的诉求,同时让实时数仓架构具备一定的扩展性。

子案例正文
业务价值

本次实时数据架构落地稳定支持了游戏运营平台的重构。基于上线后长期的观察,当前数据量情况下,整个链路数据端到端的时效稳定在3分半,满足业务诉求。当日志RPS在4166以下,以基准资源能够保障整体端到端数据加工在10分钟内完成。此外,实时数仓采用数仓技术人员比较熟悉的云原生组件Hologres,降低了开发和运维成本,提高了整体的开发效率。