基于 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案

news2025/1/22 19:52:37

作者:田向阳,联通西部创新研究院 大数据专家

共创:SelectDB 技术团队

导读: 数据是 5G 全连接工厂的核心要素,为支持全方位的数据收集、存储、分析等工作的高效进行,联通 5G 全连接工厂从典型的 Lambda 架构演进为 All in Apache Doris 的实时/离线一体化架构,并凭借 Doris 联邦查询能力打造统一查询网关,数据处理及查询链路大幅简化,为联通 5G 全连接工厂带来数据时效性、查询响应、存储成本、开发效率全方位的提升。

随着通信技术的飞速发展,5G 已成为当今时代的重要标签。在这一背景下,5G 全连接工厂应运而生,不仅代表了工业制造的未来方向,更是数字化转型和智能制造的典范。

5G 全连接工厂,顾名思义,是利用 5G 等新一代信息通信技术,实现工厂内部各个生产单元的广泛连接。这种连接不仅仅局限于设备和系统的联网,更包括人员、物料、环境等多元素的互联互通。通过这种全方位的连接,5G 全连接工厂能够实时收集、分析和处理大量数据,从而优化生产流程,提高生产效率,降低运营成本。

作为中国最大规模的电信运营商之一,中国联通具备广泛 5G 网络覆盖,拥有大量通信基站、光纤网、数据中心等物理网络基础设施,这为建设 5G 连接工厂提供了坚实的基础。同时,中国联通还针对 5G 全连接工厂的需求,提供了一整套解决方案,旨在实现制造型企业生产要素的全面互联和数据实时采集。

中国联通 5G 全连接工厂.PNG

联通 5G 全连接工厂解决方案实现生产制造企业各生产要素(人、机、料、法、环、测)的全面互联,面向数字化车间和智能工厂的核心需求,提供统一的平台底座,支持数据实时采集、实时反馈生产运营状况,并建立企业的生产数据中台,对生产过程中的数据进行处理和标准化管理,实现企业数据接口、格式的统一标准,将数据转化为资产,进而为工厂提供高效的数据服务,挖掘数据的价值。

系统需求

数据是 5G 全连接工厂的核心要素,为了支持全方位的数据收集、存储、处理和分析能够高效进行,负责数据汇总存储以及支撑决策分析的数据仓库引擎是其中关键,需要具备以下能力:

01 数据写入需求

5G 全连接工厂涉及大量设备、传感器和系统的连接,将产生海量类型格式各异的实时数据,这些数据具备密度高、维度多的特点。为确保如此大规模数据的流畅写入, 数据仓库引擎必须能够:

  • 支持大规模历史存量数据的批量和高效导入;
  • 支持高频率、低延迟的实时数据写入,包括生产设备传感数据、业务数据库 CDC 数据以及系统日志数据等;
  • 支持基于文件的数据导入能力,包括结构化及半结构化数据文件的导入;
  • 对于生产订单、物料使用、人员管理等业务数据,还需要支持基于主键的写入更新能力,确保数据的准确性和一致性。

02 数据查询需求

5G 全连接工厂为企业提供自主在线分析、可视化大屏、经营报表分析等数据服务,并对外开放大量的接口,以满足客户的临时需求。在数据查询场景中, 数据仓库引擎必须响应多种不同模式的查询负载:

  • 毫秒级点查询:在对外接口服务中,能够以毫秒级的速度对单个数据点或记录进行查询,并快速返回查询结果,以满足在线实时的查询需求;
  • 毫秒级聚合查询:对于按小时、天进行分区的数据,数据库应具备毫秒级的聚合查询能力,以支持快速的数据汇总和统计分析;
  • 秒级在线多维分析:具备在线多维分析秒级响应能力,可迅速从复杂查询中获取有价值的信息;
  • 复杂多表关联查询:支持高效的多表关联查询,以满足复杂的数据关联分析需求,帮助数据价值的深度洞察。

同时应对生产报表的产出,还需要提供稳定的查询效率,确保报表的数据准确性和及时性。

基于Hive+ ClickHouse 的数据存储引擎

最初,联通 5G 全连接工厂采用的是典型的 Lambda 架构,包括离线和实时两条数据处理链路。

01 离线数据链路

在离线数据处理链路中,业务系统数据和接口数据基于 DataX 定时抽取到 Hive,在 Hive 中完成宽表处理后,再加载到 ClickHouse 中,为应用层提供服务。日志数据则通过 Flume 实时采集到 HDFS 中,在 Hive 中进行宽表处理后,同样汇聚到 ClickHouse 中提供服务。而设备上报数据则是通过 API 接口,直接写入时序数据库中,由时序数据库提供部分服务。

基于 Hive + ClickHouse 的数据存储引擎-离线数据链路

02 实时数据链路

在实时数据处理链路中,各业务系统数据主要以 Binlog 的方式经由 Flink CDC 写入 Kafka,并利用 Flink 的多流 Join 将实时表与维度表进行统一宽表处理。维表数据通过 Flink 实时从 Kafka 中抽取,并存储到 HBase 中,然后通过 Flink 的 Lookup Join 进行统一的宽表处理,最终将数据写入 ClickHouse,以支持在线多维查询。

基于Hive+ ClickHouse 的数据存储引擎- 实时数据链路

03 存在的问题

  • 数据链路复杂:为支持报表查询功能,必须先将数据从 Hive 同步到 ClickHouse,再由 ClickHouse 对外提供服务。这无疑增加了数据链路的长度和复杂性。同时,在实时链路中,多流 Join 的操作也带来了一定的计算复杂度,进而增加了数据处理的耗时。
  • 数据准确性问题:在使用多流 Join 处理实时计算时,由于业务不断更新和变化,数据更新可能存在延迟,这就会导致 Join 结果与正确结果有 3%-5% 的偏差。为纠正该问题,每天都需依赖离线数据对实时计算结果进行修正,但同时也为实时性带来潜在风险
  • 维度变更问题:在宽表模型应用场景下,一旦业务维度发生变更,就需要对历史数据进行离线重刷,导致数据处理效率低下,甚至影响业务侧的正常使用。
  • 高维护成本:当前架构涉及到多个技术栈和组件,例如 Hive、HBase、HDFS 以及 ClickHouse 等,这带来了高昂的使用及维护成本。

基于 Apache Doris 的实时/离线一体化架构

01 数据仓库选型

为满足数据写入场景及数据查询场景的需求,并解决早期架构存在的痛点问题,联通西部创新研究院综合对比了 Apache Doris、ClickHouse、Hive 及数据湖方案,经评估发现 Apache Doris 在多个方面表现均较为出色,并决定选择 Apache Doris 对原有数据平台的存储引擎进行升级改造。

基于 Apache Doris 的实时离线一体化架构 - 数据仓库选型

结合实际场景,联通西部创新研究院最为关注的核心能力有以下几点:

  • 简单易用: Doris 兼容 MySQL 协议,业务同学可以直接使用 MySQL 客户端工具进行数据查询,无需学习新的查询语言,降低了使用门槛。
  • 统一数据分析网关: 利用 Apache Doris 构建完善可扩展的数据源连接框架,便于快速接入多类数据源,包括各种主流关系型数据库、数据仓库以及数据湖引擎,提供基于各种异构数据源的快速查询和写入能力,从而实现统一的数据分析网关。查询层架构实现链路极简,维护成本也大幅降低。
  • 高性能查询: Doris 支持高性能计算、高性能查询以及高并发点查,即使是特别复杂的多表 Join,也具备出色的性能表现,无需提前聚合即可轻松实现数据实时查询,既减少了数据处理流程,又提高了业务侧的灵活性。
  • 高效的实时数据导入: Apache Doris 能够支持海量数据的高吞吐实时写入,同时也提供了多种数据导入方式,在 IoT 场景的测试过程中,写入性能完全优于时序数据库,可满足所有场景下的数据写入要求。
  • 运维成本低: Doris 本身架构精简,仅含有 FE + BE 两个组件,借助于 SelectDB 的 Doris Manager 平台,可以实现集群的自动化运维,减少人工干预,提高集群的稳定性和可靠性。

基于以上能力,Doris 可以轻松实现实时/离线一体化,减少数据同步的复杂度,提高了数据的一致性。从之前的多组件、多链路的复杂架构转变到 All in One 的架构,可大大简化系统架构,同时也减少运维复杂度以及资源成本。

02 技术架构

通过引入 Apache Doris 对原有实时和离线处理链路进行了改造升级,成功建立了在离线一体的数据处理架构,数据流转链路如下图所示:

基于 Apache Doris 的实时:离线一体化架构-技术架构

  • 对于时效性要求较高的业务数据:使用 Flink Doris Connector 进行实时整库数据同步,将各个业务系统的数据实时地同步到 Doris 中,确保数据的高时效性。
  • 对于时效性要求较低的业务数据:利用 Doris 自带的 JDBC Catalog 可以支持跨源联邦查询,也可以通过调度工具将数据定时抽取数据到 Doris 中,保证数据的准确性和完整性。
  • 对于日志数据和设备上报数据:通过 Flink 将 Kafka 中数据直接写入 Doris 中,由 Doris 统一对整个数仓进行加工。

尽管当前部分设备时序数据采集场景中还保留了时序数据库,但由于时序数据库查询方面的表现很难满足当前的业务场景需求,因此已经开始尝试进行升级。上文提到,即使是 IoT 这种典型的数据量大、数据写入时效性高的场景下,Doris 也完全满足,同时查询方面又能很好的满足需求,因此目前也正在逐步使用 Doris 来实现对时序数据库的替代。

03 架构收益

  • 实时离线一体化: 相较于过去冗长且复杂的数据链路和架构,在新架构的 All in Doris 中,不再需要 Hive,ClickHouse, HBase 等组件,离线&实时数据直接进入 Doris,数据链路简化的同时也提高了数据的时效性。
  • 查询性能,时效性指数级提升: 过去基于 ClickHouse 提供对外的数据分析能力,受限于 ClickHouse 多表 Join 能力较弱,只能够提前采用其他组件计算后生成大宽表至 ClickHouse 再提供查询,不仅效率低下且一旦业务变更可能需要重新导数。而采用 Doris 后,可直接将 DWD 事实表和维度表开放给应用进行 OLAP 查询,为业务侧提供了更高的灵活性。
  • 统一查询网关: 凭借 Doris 优秀的联邦查询能力逐渐基于此打造统一的查询网关。在一些场景中,利用 Doris 自带的 JDBC Catalog 可以支持跨源联邦查询,查询层架构实现链路极简,维护成本也大幅降低。
  • 运维成本成倍下降: 过去使用 ClickHouse、HBase、Hive 三大组件, ClickHouse 性能虽强大,但可扩展性、易用性却差强人意,随着使用不断深入、集群规模不断扩大,使用和运维的技术门槛会变得越来越高,不支持弹性扩缩容更是一个长期被诟病的问题。而新架构中, Doris 相较之则是轻松许多,不仅运维方便,更是有着完善的管控工具 Doris Manager,可以实现更简单更快捷的运维工作,运维成本成倍下降。

工业互联网数据集成平台

数据集成是 5G 全连接工厂的关键能力之一,随着 5G 全连接工厂在多家企业生产环境落地,对于数据分析和数据对外开放的需求也在不断地更新变化。针对 5G 数据集成场景的特点,建设了工业互联网数据集成平台:

  • 数据来自于各种生产设备和系统,如 PLC、工业机器人、传感器、数控机床等。这些数据具有不同的格式、结构和标准,需要工业互联网数据集成平台能够实时地将数据采集、整合以及标准化,确保数据的一致性和准确性。
  • 工业互联网数据集成平台还需要具备良好的可扩展性和灵活性,能够适应工厂未来的扩展需求,灵活地应对生产过程中的各种变化和挑战。
  • 工业互联网数据集成平台还需要实现不同系统之间的数据交互和通信,通过跨系统的协同和信息共享,以实现对生产数据的全面监控和分析,提高生产效率和质量。

基于以上需求,以 Apache Doris 为核心,结合多个开源大数据组件构建了工业互联网数据集成平台,整体系统架构如下:

工业互联网数据集成平台

  • 数据源管理层主要负责统一维护和管理各个数据源,平台适配了 Syslog、常见 CDC、时序数据、第三方接口数据、SFTP 文件数据以及业务 DB 等多种不同数据源。
  • 在数据采集层,平台支持实时数据、时序数据和离线数据的采集。主要通过 FlinkCDC 和 SeaTunnel 实现各个数据源之间的数据传输,对于业务 DB 以及 JDBC 数据源的数据则依赖于 Doris 的 JDBC - Catalog 实现批量数据的采集。为了避免大批量数据的集成压力,还引入了 Kafka 用于进行实时数据处理和离线数据的临时加载。
  • 存储和计算层是数据集成平台的核心,在此使用 Apache Doris 作为存储和计算的底座,绝大多数数据均存储在 Apache Doris 中、少数设备采集的时序数据存放在 TDengine。为了提升数据质量、实现数据资产的更高效沉淀,同时还围绕 Apache Doris 构建了数据资产层,包括数据标准定义、数据质量和资产目录管理,以及元数据管理(对接 Doris 元数据库)、血缘关系追踪(通过解析 Doris 审计日志实现)、主题域和算法建模等数据资源管理功能。
  • 在数据服务层,开发了多个系统来保护数据安全、管理用户访问权限和数据共享,作为平台的统一对外接口,所有外部数据服务和数据共享均通过 Doris 的 Multi-Catalog 来实现。

总结与收益

Apache Doris 的引入,为联通 5G 全连接工厂带来数据时效性、查询响应、存储成本、开发效率等全方位的提升,具体体现为:

  • 70% 的核心业务实现准实时:通过 Flink CDC + Doris 为核心业务构建实时链路,通过 JDBC Catalog 对边缘业务进行定时批量拉取,成功实现 70% 核心业务的准实时数据处理。
  • 承担 90% 实时计算: 利用 Doris 的强大计算能力,承担了当前平台 90%以上的实时计算。利用 JDBC 与 Doris 的维度建模定时产出报表数据,从而实现毫秒级的报表查询,为业务提供了快速高效的报表数据分析能力。
  • 在线实时分析、多维分析:DWD 明细表基于小时时间分区,根据业务查询特点将关联字段作为分桶字段,对常用检索字段进行索引,实现在线分析秒级内响应。
  • 开发效率大幅提升: 采用 Doris 生态的轻量级存储架构,取代了过去基于 Hadoop 的 Lambda 架构,运维成本得到极大幅度降低。借助 Doris 构建了完整的数据仓库分层体系,由 Doris 内部计算作业取代了 Flink 多流 Join 复杂场景任务开发,极大提高了开发效率。此外,由于 Doris 直接对接 MySQL 协议,降低了学习成本,进一步提升了开发效率,项目交付周期得到大幅缩短。

未来规划

未来,联通西部创新研究院将继续深入使用 Apache Doris,这有利于降低企业数字化转型成本,提高传统制造业转型效率:

  • 大规模引入 Doris Manager :为了简化运维工作,计划采用 Doris Manager 进行线上运维。相比手动管理和使用 Grafana + Prometheus 的方式,Doris Manager 提供了更便捷和高效的运维管理功能。通过监控功能,便捷地定位和解决异常问题,提升运维效率。
  • 查询性能优化:根据外部项目的迭代需求,将进一步优化查询性能,包括索引加速、慢查询监控、合理的资源队列划分等方面的优化工作,旨在提升整体查询效率和系统性能。
  • 尝试 多表物化视图:2.1 新版本推出的多表物化视图功能将会进一步简化任务构建步骤,加速数仓建设。
  • 尝试存算分离:即将发布的 Apache Doris 3.0 新版本将集成并开源 SelectDB Cloud 的商业存算分离实现,值得期待。
  • 规范化指标体系:基于 Apache Doris 构建高效的面向 5G 全连接工厂场景的规范化指标体系,帮助企业规范化和标准化数据指标的定义和使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1719076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为SSH实验

华为SSH实验 实验拓扑: 实验要求:从SSH客户端AR1采用stelnet方式登录到SSH 服务器端。 实验步骤: 1.完成基本配置(略) sys Enter system view, return user view with CtrlZ. [AR1]sys CLIENT [CLIENT]INT g0/0/0 [C…

【IB Protocal Serial--WQE】

IB Protocal Serial--WQE 1 Intro1.1 What1.2 IBA WQE 本系列文章介绍RDMA技术的具体实现–InfiniBand Protocal; Introduce the features, capalities,components, and elements of IBA. the principles of operation. 1 Intro 1.1 What 理解IB协议下面这三句话对…

思迈特受邀参加工信部等权威机构行业盛会,探讨AI领域前沿技术

近日,思迈特软件作为国产BI领域知名厂商,多次受邀出席行业盛会,与众多业内专家学者、行业精英及知名企业代表等汇聚一堂共襄盛会,探讨行业前沿热点研究及最新趋势,分享企业数字化建设创新成果与成功实践,共…

一文学懂Base64编码原理

前言 Base64编码与ASCII编码一样,也是一种编码方式。不同的是ASCII码采用7位二进制数表示(包括大小写字母、数字、标点符号和一些不可见字符),而Base64采用6位二进制数表示(包括大小写字母、0~9数字、和/)…

【考试100】安全员B证《建设工程安全生产技术》单选题

​ 题库来源:考试100 【考试100】安全员B证《建设工程安全生产技术》单选题 1.在悬空部位作业时,操作人员应( ) A.遵守操作规定 B.进行安全技术交底 C.戴好安全帽 D.系好安全带 【考试100答案】:D…

Nginx企业级负载均衡:技术详解系列(14)—— 账户认证功能

你好,我是赵兴晨,97年文科程序员。 你有没有听说过Nginx的账户认证功能?这可不只是一个技术问题,它关系到我们上网时的安全和便利。就像家里需要一把钥匙才能进们一样,Nginx的账户认证功能就是确保有只有授权的人才能…

C# 写一个简单的Windows Service的服务程序

项目创建及设定部分 使用VS2019创建项目,选择C# Service的选项 按照你喜欢的方式命名,我这边就默认了 添加安装服务,在Service1.cs[Design]中 在设计界面右击,选择如下的"Add Installer" 在出现的"ProjectInstall…

python爬取每日天气情况

python爬取每日天气情况 一、项目简介二、完整代码一、项目简介 本次爬取的目标数据来源于天气网,数据所在的页面如下图所示,本次任务较为简单,按照正常操作流程操作即可,即抓包分析数据接口,发送请求获取数据,解析数据并持久化存储。发送请求使用requests库,解析数据使…

jenkins 用户权限(Manage-Roles)

本次需求将DEV环境和SIT环境分开,SIT用户登录上来只能看他的SIT项目和视图 安装roles插件 进入 manage role 项目授权 用户 正则匹配你需要的项目 dev .*-dev*或者.*-dev$ sit .*-sit最后细分assign role 测试使用sit账号登录 ,视图和项目都是SIT账号的

PG 窗口函数

一,简介 窗口函数也叫分析函数,也叫OLAP函数,通过partition by分组,这里的窗口表示范围,,可以不指定PARATITION BY,会将这个表当成一个大窗口。 二,应用场景 (1)用于分…

LeeCode热题100(1)

本文纯干货,看不懂来打我! 自己先去看一下第一题的题目两数之和:. - 力扣(LeetCode) 简单来说就是让你在一个数组里面找两个数,这两个数的和必须满足等于目标值target才行。 我认为你要是没有思路的话&a…

【R语言基础】如何更新R版本

文章目录 概要流程细节具体步骤 概要 提示:由于软件包的更新,所以需要更新R至新版本 流程细节 查看当前R版本 R.version下载更新包:installr install.packages("installr")library(installr)跟着向导一步步执行安装 具体步骤 …

输入3个字符串,要求将字母按由小到大顺序输出

对于将3个整数按由小到大顺序输出,是很容易处理的。可以按照同样的算法来处理将3个字符串按大小顺序输出。可以直接写出程序。 编写程序: 运行结果: 这个程序是很好理解的。在程序中对字符串变量用关系运算符进行比较,如同对数值…

树形结构-CRUD接口

先看一下效果:整体的效果 新增效果 --默认值是 default 修改效果 - 大致效果如上 --------------------------------------------------------------------------------------------------------------------------------- 下面讲解代码如何实现的 根据你使用…

算法简单笔记4

5月31号,明天决赛,今天脑子也是一滩浆糊,踏马的一道题也做不出来,超级难受,只好简单复盘一下两道之前的题目,看完就差不多了,再学也没啥用了,写完这两题题解我就回去打把steam绝地求…

AI大模型的生命周期:从开发到退役的全面解析

前言 人工智能大模型(AI大模型)是当前AI领域的一大热点,它们具有强大的计算能力和广泛的应用前景。本文将全面介绍AI大模型的基础知识、训练过程、使用方法和应用场景。 一、初步了解AI大模型 AI大模型,通常指的是参数量达到亿…

k8s——Pod进阶(资源限制和探针)

一、资源限制 1.1 资源限制的定义 当定义Pod时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是CPU和内存大小,以及其他类型的资源。 当为Pod中的容器指定了request资源时,调度器就使用该信息来决定将Pod调度到哪个节点上。当还为容器…

5.29工效学-人因工程人机交互

对于工效学这门课,一直都感觉很有意思,是一个值得再认真一点的课。可惜上课的时候效率不高,有感兴趣的东西课后也没有自行去拓展开来,前面的课我感觉还讲了比较重要的东西,但是,全忘了呢(真的对…

【C++】入门(二):引用、内联、auto

书接上回:【C】入门(一):命名空间、缺省参数、函数重载 文章目录 六、引用引用的概念引用的使用场景1. 引用做参数作用1:输出型参数作用2:对象比较大,减少拷贝,提高效率 2. 引用作为…

无忧易售ERP:解锁TikTok平台订单处理新效能,赋能跨境电商新未来

在这个全球化电商飞速发展的时代,TikTok作为新兴的电商蓝海,正吸引着无数商家的目光。然而,如何在竞争激烈的市场中脱颖而出,高效管理订单,提升顾客体验,成为每个商家必须面对的课题。无忧易售ERP&#xff…