中国联通网络资源湖仓一体应用实践

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
简介: 本文分享了中国联通技术专家李晓昱在Flink Forward Asia 2024上的演讲,介绍如何借助Flink+Paimon湖仓一体架构解决传统数仓处理百亿级数据的瓶颈。内容涵盖网络资源中心概况、现有挑战、新架构设计及实施效果。新方案实现了数据一致性100%,同步延迟从3小时降至3分钟,存储成本降低50%,为通信行业提供了高效的数据管理范例。未来将深化流式数仓与智能运维融合,推动数字化升级。

摘要:本文整理自中国联通技术专家李晓昱,在Flink Forward Asia 2024 行业解决方案专场的分享。主要介绍中国联通网络资源中心依托Flink+Paimon湖仓一体新架构,破解传统数仓处理百亿级数据的瓶颈,内容分为以下四个部分:

1、中国联通网络资源中心简介

2、现状和挑战

3、基于Flink + Paimon 湖仓一体新架构

4、效果及规划

一、项目简介

中国联通网络资源中心作为全球规模领先的集约化资源管理平台,承载全国31省域的网络资源数据、骨干网及国际出口网络等百余类异构数据资源,管理规模达百亿级实体实例。其核心业务是通过物理网络数字化映射技术,将光接入网、核心交换设备等物理基础设施转化为高精度数字模型,构建全域网络资源图谱,实现从信息化设备到智能化数字网络的升级。

二、现状 & 挑战

作为通信行业先行者,中国联通率先实现网络资源数据的全国性集约化平台建设,数据实例达百亿。随着数据量的激增和业务需求的多样化,传统数仓在面对海量数据处理时显得力不从心。历史架构通过DataX及DTS 增量数据捕获变更,将分布式数据库全增量数据接入到HDFS,采用MOR 视图表合并实现数据版本控制。

该方案存在以下几个瓶颈:

  1. 在进行 CDC 同步时,DTS 的并发能力使得增量订阅链路的并发同样受限。当数据量大幅增加时,增量同步便无法满足业务需求,进而出现严重的延迟现象;

  2. 采用MOR合并机制下,虽然降低写入压力,但采用Hive 视图合并需对所有数据进行大量排序操作,获取最新版本数据,在一写多读场景下,造成了计算资源的大量浪费;

  3. 资源数据的不定期更新,导致小文件、历史文件的堆积,对于此类文件的运维操作耗时长,效率低,大量小文件会造成集群Name Node压力;

  4. 分布式数据库,在网络设备维修的实际业务中存在分片键字段值变更,会导致数据更新时产生乱序。

三、基于Flink + Paimon湖仓一体新架构

3.1 架构概述

我们采用Flink + Paimon 湖仓一体架构解决以上问题,整体链路如下图。架构主要分为三个部分:全增量数据接入、数据归档、数据压缩合并。

全增量数据接入:

  • 全增量接入均采用Flink CDC实现对上游数据的读取接入;

  • 全量采用整库同步 Action 实现自动建表、整库同步;

  • 增量拆分成2步骤

    • ① 数据标准化订阅转发 :实现上游实例对接单边保序的日志流输出、进行消息初步转换以及数据实时合流计算解决数据乱序

    • ② 增量写入Paimon PK湖表中:采用按省分区、固定分桶、sequence.field 设置PK 表,实现增量、全量的双通道的无缝衔接。

数据归档链路:

  • 将增量数据持续追加写入 Paimon AO数据湖表中,实现按省分区、动态分桶以及基于Watermark 进行AO 表的 Tag生成。

数据压缩合并:

  • 使用Dedicated Compaction进行整库压缩,启动独立的压缩作业,避免写入时执行压缩导致吞吐量不稳定。

在实现湖仓一体架构链路搭建过程中,解决了已有的问题以及实现了新场景的适配,主要核心的挑战如下:

3.2 挑战1 - CDC乱序

(1)问题描述:分布式数据库分片健修改,导致CDC数据乱序

如下图中左侧所示,数据分片更新时产生+D +I消息,由于数据分库分表导致先输出+I 后输出+D,数据产生乱序。

(2)解决方案:基于Watermark + State + TimerService 多流保序合并

如上图中右侧所示,按照单边时间戳单调递增及分片键变更局部时间一致原则,合理地过期晚到数据(图中黄色标识为设置过期状态,绿色标识为保留原始状态),实现合流后数据的实时一致性。通过Sink算子将保序后的数据投递至消息队列中,以输出一条经过保序合流后的目标数据源。在实际多实例场景下,会出现多实例的反复更新,根据实际更新情况适配6种场景,实现仅约10M级别的 State存储,保障数据顺序吐传。

3.3 挑战2 - 全+增Schema Evolution

(1)问题描述:多个全量写入Schema冲突

我们采用整库全量同步实践过程中发现,各省分源端模型的Schema存在差异化,当前社区0.9版本仅支撑实现CDC场景同类型Schema Evolution。

(2)解决方案:全量Schema Evolution实现到全增量一体化CdcSchemaCommonUtils

我们不仅实现对全量同步Schema Evolution 改造,在此基础上将Schema Evolution全增量逻辑整合,形成了 CdcSchemaCommonUtils,如此,不论是全量同步还是增量同步,均有效解决了其同步过程中 Schema 不一致带来的困扰。

3.4 挑战3 - Schema Compatibility

(1)问题描述:在多写入场景下,源端Schema变更时间不一致,导致字段类型冲突无法写入增量数据

如下图原本定义为int字段,随着业务需求的变化,需要改成string。但在实际情况中,各个省份的变更进度不一致,有的省份已经完成了类型变更,有的省份还保持着原来的类型。然而增量消息的同步并不会因为这种变更而停止,它会持续不断地进行,导致后续未变更省分增量数据无法写入,产生异常冲突。

(2)解决方案:多场景写入Schema Compatibility实现

通过实现Schema Compatibility 指定可兼容的场景,比如:对于Int -> String 是可兼容的场景,而Sting -> Int是非法的,保障在多写入场景下,源端字段类型冲突的问题,导致数据无法更新。

四、效果及规划

湖仓一体新架构方案,解决了数据乱序问题,端到端数据一致性达100%,此外性能也显著的提升,具体效果如下:

核心指标 历史方案 湖仓架构 性能提升
数据同步延迟 3h 3min 提速10倍+
业务加工效率 1h 10min 提速6倍+
数据点查 120s 3s 提速40倍+
存储成本 50T 25T 降本约50%
计算资源成本 几十T万核 几T千核 节约近10倍+

中国联通通过湖仓一体架构的应用实践,实现了百亿级网络资源数据的全局一致性治理与分钟级实时分析能力。该方案为通信行业海量异构数据的集约化管控提供了可复用的技术范本,未来将持续探索流式数仓与智能运维的深度融合,驱动运营商数字化基础设施向更高阶的智能化阶段演进。


更多内容


活动推荐

阿里云基于 Apache Flink 构建的企业级产品-实时计算 Flink 版现开启活动:
新用户复制点击下方链接或者扫描二维码即可0元免费试用 Flink + Paimon
实时计算 Flink 版(3000CU*小时,3 个月内)
了解活动详情:https://free.aliyun.com/?utm_content=g_1000395379&productCode=sc

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
9天前
|
人工智能 Cloud Native 算法
拔俗云原生 AI 临床大数据平台:赋能医学科研的开发者实践
AI临床大数据科研平台依托阿里云、腾讯云,打通医疗数据孤岛,提供从数据治理到模型落地的全链路支持。通过联邦学习、弹性算力与安全合规技术,实现跨机构协作与高效训练,助力开发者提升科研效率,推动医学AI创新落地。(238字)
|
13天前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
14天前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
25天前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
270 11
人工智能 关系型数据库 OLAP
145 0
|
2月前
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
134 0
|
2月前
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
121 6
|
2月前
|
SQL 存储 运维
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
本文介绍了 Apache Doris 在菜鸟的大规模落地的实践经验,菜鸟为什么选择 Doris,以及 Doris 如何在菜鸟从 0 开始,一步步的验证、落地,到如今上万核的规模,服务于各个业务线,Doris 已然成为菜鸟 OLAP 数据分析的最优选型。
180 2
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
|
2月前
|
存储 数据采集 搜索推荐
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
本篇文章探讨了 Java 大数据在智慧文旅景区中的创新应用,重点分析了如何通过数据采集、情感分析与可视化等技术,挖掘游客情感需求,进而优化景区服务。文章结合实际案例,展示了 Java 在数据处理与智能推荐等方面的强大能力,为文旅行业的智慧化升级提供了可行路径。
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)