数据中台到底包括什么内容?一文详解架构设计与组成

数据中台建设是一个宏大的工程,涉及整体规划、组织搭建、中台落地与运营等方方面面的工作,本节重点从物理形态上讲述企业的数据中台应该如何搭建。一般来讲,企业的数据中台在物理形态上分为三个大层:工具平台层、数据资产层和数据应用层(见图4-2)。

▲图4-2数据中台功能架构

1.工具平台层

工具平台层是数据中台的载体,包含大数据处理的基础能力技术,如集数据采集、数据存储、数据计算、数据安全等于一体的大数据平台;还包含建设数据中台的一系列工具,如离线或实时数据研发工具、数据联通工具、标签计算工具、算法平台工具、数据服务工具及自助分析工具。

以上工具集基本覆盖了数据中台的数据加工过程。

1)数据开发平台

大数据的4V特征[1]决定了数据处理是一个复杂的工程。建设数据中台需要搭建建设数据中台的基建工具,要满足各种结构化、非结构化数据的采集、存储与处理,要根据场景处理离线和实时数据的计算与存储,要将一个个数据处理任务串联起来以保障数据的运转能赋能到业务端。

[1]大数据的4V指Volume(数据量大)、Variety(类型繁多)、Velocity(速度快,效率高)、Value(价值密度低)。

因此首先搭建一个大数据能力平台是非常有必要的。当然,可根据企业实际情况来决定是外采还是自建平台。

2)数据资产管理

数据资产管理工具既能帮助企业合理评估、规范和治理信息资产,又可以发挥数据资产价值并促进数据资产持续增值。对于数据资产管理,我们不推荐事后管理,而要与数据研发的过程联动。也就是说,当数据经过数据开发平台加工的链路时,数据资产管理平台就已经无声无息地介入了。

数据资产管理的首要任务是管理好进入数据中台的元数据,这里的元数据包括数据源、建设的各种模型、通过模型拆解出来的指标与标签以及调度作业。有序管理这些数据资产的元数据是前提条件,只有做好了这一步,才能继续对数据流向的追溯,才能对指标、标签体系的生命周期进行管理,确定指标的使用频率,决定是否下线。

3)标签工厂

标签工厂又称标签平台,是数据中台体系内的明星工具类产品。标签建设是数据中台走向数据业务化的关键步骤。因此,一个强大的标签工厂是数据中台价值体现的有力保障。

严格来说,标签工厂也属于数据开发平台的一部分,为什么我们要把它单独剥离出来讲呢这是因为标签的使用场景丰富,标签与业务结合得非常紧密;同时,标签数据的存储与分析型数据的存储有一定的差异。

标签工厂致力于屏蔽底层复杂的大数据框架,面向普通开发人员、数据分析师、运营人员提供友好的界面交互配置,完成标签的全生命周期管理;同时,对上层业务系统提供自身API能力,与各业务系统形成数据闭环。

标签工厂按功能一般分为两部分:底层的标签计算引擎与上层的标签配置与管理门户。标签计算引擎一般会采用MapReduce、Spark、Flink等大数据计算框架,而计算后的标签存储可采用Elasticsearch或者HBase,这样存储的好处是便于快速检索。

而标签配置与管理门户则支持通过配置标签规则提交到标签计算引擎,就能定时算出所需要的标签。标签配置和管理门户还提供标准的标签服务申请与调用。通过标签工厂,数据中台团队可减少大量的数据开发工作。

4)ID-Mapping

ID-Mapping又称ID打通工具,是数据中台建设的可选项。可选不代表不重要,在一些多渠道、多触点的新零售企业,离开了这个工具,数据质量将大打折扣。

ID-Mapping功能的建设一般会利用强大的图计算功能,通过两两之间的关系实现互通,自动高效地将关联的身份映射为同一身份即唯一ID的数据工具。它能大幅度降低处理成本,提高效率,挖掘更多用户信息,形成更完整的画像,大大利于数字营销的推进。

另外,ID-Mapping工具也可用于企业主数据治理。

5)机器学习平台

在整个机器学习的工作流中,模型训练的代码开发只是其中一部分。除此之外,数据准备、数据清洗、数据标注、特征提取、超参数的选择与优化、训练任务的监控、模型的发布与集成、日志的回收等,都是流程中不可或缺的部分。

机器学习平台支持训练数据的高质量采集与高效标注,内置预训练模型,封装机器学习算法,通过可视化拖曳实现模型训练,支持从数据处理、模型训练、模型部署为在线预测服务,通过RESTfulAPI的形式与业务应用集成,实现预测,打通机器学习全链路,帮助企业更好地完成传统机器学习和深度学习的落地。

6)统一数据服务

统一数据服务旨在为企业搭建统一的数据服务门户,帮助企业提升数据资产的价值,同时保证数据的可靠性、安全性和有效性。

统一数据服务支持通过界面配置的方式构建API和数据服务接口,以满足不同数据的使用场景,同时降低数据的开发门槛,帮助企业实现数据应用价值最大化。

统一数据服务作为唯一的数据服务出口,实现了数据的统一市场化管理,在有效降低数据开放门槛的同时,保障了数据开放的安全。

2.数据资产层

数据资产层是数据中台的核心层,它依托于工具平台层,那么这一层又有什么内容呢答案是因企业的业务与行业而异,但总体来讲,可以划分为主题域模型区、标签模型区和算法模型区。

1)主题域模型

主题域模型是指面向业务分析,将业务过程或维度进行抽象的集合。业务过程可以概括为一个个不可拆分的行为事件,如订单、合同、营销等。

为了保障整个体系的生命力,主题域即数据域需要抽象提炼,并且长期维护和更新,但是不轻易变动。在划分数据域时,既要涵盖当前所有业务的需求,又要保证新业务能够无影响地被包含进已有的数据域中或者很容易扩展新的数据域。

数据域划分需要先对业务系统进行充分调研。将业务过程划分到哪个数据域没有绝对的对错,但是会影响报表开发人员定位数据的效率,所以还需要从开发人员定位效率的角度来进行综合划分。

2)标签模型

那么在设计标签的时候就需要充分理解这些业务流程,在流程中发现标签的应用点,结合这些应用点来搭建企业的标签体系。

标签模型按计算模式一般分为客观标签和主观标签,客观标签是可以量化的,而主观标签是不可量化的。根据实现方式又可以将标签分为事实标签、模型标签、算法标签等,根据业务场景还可将标签分为基础信息标签、偏好标签、价值标签等。

设计标签模型时非常关键的要素是标签模型一定要具有可扩展性。毕竟标签这种数据资产是需要持续运营的,也是有生命周期的,在运营的过程中随时可能增加新的标签。

3)算法模型

算法模型更加贴近业务场景。在设计算法模型的时候要反复推演算法模型使用的场景,包括模型的冷启动等问题。整个模型搭建过程包含定场景、数据源准备、特征工程、模型设计、模型训练、正式上线、参数调整7个环节。

以新零售企业为例,常用的机器学习算法有决策树、神经网络、关联规则、聚类、贝叶斯、支持向量机等。这些算法已经非常成熟,可以用来实现商品个性化推荐、销量预测、流失预测、商品组货优化等新零售场景的算法模型。

3.数据应用层

数据应用层严格来说不属于数据中台的范畴,但数据中台的使命就是为业务赋能,几乎所有企业在建设数据中台的同时都已规划好数据应用。数据应用可按数据使用场景来划分为以下多个使用领域。

1)分析与决策应用

分析与决策应用主要面向企业的领导、运营人员等角色,基于企业的业务背景和数据分析诉求,针对客户拉新、老客运营、销售能力评估等分析场景,通过主题域模型、标签模型和算法模型,为企业提供可视化分析专题。

用户在分析与决策应用中快速获取企业现状和问题,同时可对数据进行钻取、联动分析等,深度分析企业问题及其原因,从而辅助企业进行管理和决策,实现精准管理和智能决策。

在分析专题设计的过程中,首先需要根据不同的业务分析场景,采用不同的分析方法进行数据分析的前期规划,搭建清晰的数据分析框架,如在用户行为分析、营销活动等场景下,会采用5W2H分析法和4P营销理论;在复购客户下降、客单价下降等问题诊断分析场景,需要考虑问题与哪些因素有关,则采用逻辑树分析法。

在数据分析框架构建完成后,结合用户的分析目的,采用不同的分析思路和呈现方式,包括趋势分析、多维分解、漏斗分析、A/B测试、对比分析和交叉分析等。

2)标签应用

标签旨在挖掘实体对象(如客户、商品等)的特征,将数据转化成真正对业务有价值的产物并对外提供标签数据服务,多应用于客户圈选、精准营销和个性化推荐等场景,从而实现资产变现,不断扩大资产价值。

因此,在标签体系设计前,需要先基于业务需求分析标签的使用场景,再详细设计标签体系和规则。在标签的使用过程中,可利用A/B测试等数据分析方式,持续分析标签的使用效果,并优化标签体系和规则。

3)智能应用

在供应链领域,可通过数据中台整合用户数据、销售数据、采购数据等优化库存,实现自动配补货、自动定价。除了传统统计分析、机器学习之外,还可以融入深度学习,实现以图搜图并与商城打通,实现拍立购;实现人脸识别,用于地产行业的案场风控;融入自然语言处理,实现智能客服问答机器人等。

02数据中台技术架构

随着大数据与人工智能技术的不断迭代以及商业大数据工具产品的推出,数据中台的架构设计大可不必从零开始,可以采购一站式的研发平台产品,或者基于一些开源产品进行组装。企业可根据自身情况进行权衡考虑,但无论采用哪种方案,数据中台的架构设计以满足当前数据处理的全场景为基准。

以开源技术为例,数据中台的技术架构如图4-3所示,总体来看一般包含以下几种功能:数据采集、数据计算、数据存储和数据服务;在研发、运维和公共服务方面包括离线开发、实时开发、数据资产、任务调度、数据安全、集群管理。

▲图4-3数据中台技术架构

1.数据采集层

按数据的实时性,数据采集分为离线采集和实时采集。离线采集使用DataX和Sqoop,实时采集使用KafkaConnect、Flume、Kafka。

在离线数据采集中,建议使用DataX和Sqoop相结合。DataX适合用在数据量较小且采用非关系型数据库的场景,部署方式很简单。Sqoop适合用在数据量较大且采用关系型数据库的场景。

在实时数据采集中,对于数据库的变更数据,如MySQL的binlog、Oracle的OGG,使用KafkaConnect进行数据的实时采集。对于其他数据,先将数据实时写成文件,然后采用Flume对文件内容进行实时采集。将实时采集后的数据推送到Kafka,由Flink进行数据处理。

2.数据计算层

数据计算采用YARN作为各种计算框架部署的执行调度平台,计算框架有MapReduce、Spark及SparkSQL、Flink、SparkMLlib等。

MapReduce是最早开源的大数据计算框架,虽然现在性能相对较差,但它的资源占用比较小,尤其是内存方面。因此在部分数据量过大,而其他计算框架由于硬件资源的限制(主要是内存限制)而无法执行的场景,可以将MapReduce作为备选框架。

Spark及SparkSQL是在批处理方面拥有出色性能的成熟技术方案,适合大部分的离线处理场景。特别是在离线数据建模方面,建议使用SparkSQL进行数据处理,既能保证易用性,又能保证处理的性能。Flink是实时数据处理方面的首选,在处理的时效性、性能和易用性方面都有很大优势。

而机器学习一般采用Spark家族的SparkMLlib为技术底座。SparkMLlib内置了大量的常规算法包,如随机森林、逻辑回归、决策树等,可以满足大部分数据智能应用场景。

同时,数据中台不断进化,也逐渐融入AI能力。如人脸识别、以图搜图、智能客服等能力的实现就需要AI平台。目前较为成熟的AI平台有TensorFlow及PyTorch。为实现物体的检测和识别,可使用SSD、YOLO和ResNet等深度学习模型,而在人脸检测和识别中则主要使用MTCNN、RetinaNet和ResNet,人脸检索可使用Facebook开源的针对人脸检索的Faiss框架。

3.数据存储层

数据存储层所有的存储引擎都基于Hadoop的HDFS分布式存储,从而达到数据多份冗余和充分利用物理层多磁盘的I/O性能。在HDFS上分别搭建Hive、HBase作为存储数据库,在这两个数据库的基础上再搭建Impala、Phoenix、Presto引擎。

Hive为大数据广泛使用的离线数据存储平台,用于存储数据中台的全量数据,在建模阶段可以使用HiveSQL、SparkSQL进行数据处理和建模。

HBase为主流的大数据NoSQL,适合数据的快速实时读写。在实时数据处理时,可将数据实时保存到HBase中,并且可以从HBase中实时读取数据,从而满足数据的时效性。

Impala可以对Hive、HBase等大数据数据库进行准实时的数据分析,能满足对分析结果速度有一定要求的场景。

Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBCAPI而不是HBase客户端API来创建表、插入数据和对HBase数据进行查询。

Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询。Presto支持Hive、HBase、MySQL等多种关系型和大数据数据库的查询,并且支持join表。对于对接自助分析和统一数据服务的场景,可以通过Presto来统一访问具体存储的数据库,从而达到语法统一和数据源统一。

4.数据服务层

数据服务层采用的技术与业务应用类似,主要基于开源SpringCloud、SpringBoot等构建,使用统一的服务网关。

关于作者:陈新宇,云徙科技联合创始人兼首席架构师,中国软件行业协会应用软件产品云服务分会“数字企业中台应用专家顾问团”副主任专家,香港中文大学计算机科学与工程学博士,领导云徙科技数字中台系统的规划、建设并赋能企业落地实施。

罗家鹰,云徙科技副总裁,上海交通大学学士,中山大学MBA。近四年来,一直致力于阿里中台赋能数字商业的研究与布道。拥有20年的企业咨询及服务经验,先后主导了数十家大型企业的数字化转型咨询方案。

江威,云徙科技地产事业部总经理,领导中台在地产方面的建设与落地,长期从事阿里中台赋能地产行业的研究与布道,拥有丰富的地产项目实施经验。

邓通,云徙科技汽车事业部总经理,香港中文大学信息工程硕士,专注于汽车行业数字化营销研究。

THE END
1.AI技术深度解析:从基础到应用的全面介绍掌握线性代数、概率论和统计学等数学概念,以及熟悉Python等编程语言是必要的。接下来,可以学习机器学习的基础知识和常用算法,如线性回归、逻辑回归、支持向量机等。通过实践项目来应用所学知识,如构建简单的分类或回归模型,逐步提升自己的实践能力。此外,参加在线课程、阅读专业书籍和论文也是提升机器学习技能的有效途径。https://developer.aliyun.com/article/1645526
2.人工智能基础知识速成什么是机器学习? 机器学习是人工智能的一个分支,通过从数据中学习和改进算法,使计算机系统在没有明确编程的情况下也能够自动地学习和改进。机器学习是一种实现人工智能的技术手段,能够让计算机“自我学习”,从而实现更准确的预测和决策。 机器学习的基本原理 https://www.jianshu.com/p/ebf29ca6e0d7
3.离线算法vs在线算法在计算机科学中,离线和在线算法的本质不同是:在处理数据流和资源使用方面 离线和在线不是具体的某种算法公式,而是一种思维模式,取决于在所给的问题背景下,数据资源是否能够通盘考虑,或是现实场景中不断地有新数据介入 离线算法(OfflineAlgorithm) 离线算法是指在开始处理数据之前,所有需要的输入数据都是已知的。算法https://blog.csdn.net/m0_61678439/article/details/141088418
4.在线算法离线算法今天面试的时候面试官提到了在线算法和离线算法的区别,我之前没有了解过这个概念,所以面试完学习了一下,并在这里记录一下。 在线算法(online algorithm)和离线算法(offline algorithm) 维基百科举了这样一个例子,选择排序是离线算法,而插入排序是在线算法。那就从这两个算法来看看在线算法和离线算法的区别。 选择排序https://zhuanlan.zhihu.com/p/89341847
5.推荐算法中的在线学习和离线学习有何区别,各自的优缺点是什么在线学习和离线学习是推荐算法中常见的训练方式,各自有不同的优缺点。在实际应用中可以根据需求选择合适的方式或结合两者优势。https://www.mbalib.com/ask/question-ec5c1bbee149c6534d0a725ffdb15235.html
6.在对齐AI时,为什么在线方法总是优于离线方法?澎湃号·湃客尽管这些假设听上去似乎是对的,但实验结果表明它们无法可信地解释在线和离线算法的性能差距。 他们通过消融研究发现,提升离线优化的一种有效方法是生成分布上接近起始 RLHF 策略(这里就刚好是 SFT 策略)的数据,这本质上就模仿了在线算法的起始阶段。 优化性质 https://www.thepaper.cn/newsDetail_forward_27434433
7.在线算法因为在线算法并不知道整个的输入,所以它被迫做出的选择最后可能会被证明不是最优的,对在线算法的研究主要集中在当前环境下怎么做出选择。对相同问题的在线算法和离线算法的对比分析形成了以上观点。如果想从其他角度了解在线算法可以看一下流算法(关注精确呈现过去的输入所使用的内存的量),动态算法(关注维护一个在线https://baike.baidu.com/item/%E5%9C%A8%E7%BA%BF%E7%AE%97%E6%B3%95/4449947
8.离线强化学习图18-2 在线算法(橙色)和对应的离线算法(蓝色)的实验结果,从左到右依次为完全回放、同步训练、模仿训练 让人惊讶的是,3 个实验中,离线 DDPG 智能体的表现都远远差于在线 DDPG 智能体,即便是第二个实验的同步训练都无法提高离线智能体的表现。在第三个模仿训练实验中,离线智能体面对非常优秀的数据样本却什么都https://hrl.boyuai.com/chapter/3/%E7%A6%BB%E7%BA%BF%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/
9.漫话地图数据处理之道路匹配篇文化&方法高德技术实时算法主要用于在线导航,时间和空间复杂度低,离线算法用于数据处理的离线计算,算法复杂,追求最高准确度。 空间距离 线要素的匹配,主要通过几何、拓扑或语义相似度来进行识别,其中通过空间距离来进行要素匹配的常用方式有: 闵可夫斯基距离(Minkowski Distance) https://www.infoq.cn/article/aXrXVv5H801wkkhEkDOv
10.在线匹配问题研究进展:如何应对一般图以及顶点全在线的挑战?在在线优化研究中最为常用的方法称为竞争比分析方法,即以竞争比来衡量某个在线算法的性能。在线匹配问题中,竞争比的定义如下:如果一个在线算法在任何可能的图以及任何可能的在线顶点到达顺序中,均能保证其在线解大于图离线最大匹配的倍,那么我们就称该算法为-竞争的。在Karp等人的工作中,他们首先证明了贪心算法(在https://www.orsc.org.cn/wechat/article/detail?id=760
11.科学网—[转载]强化学习在资源优化领域的应用这一工作的实验结果表明,基于RLHO框架,将PPO算法和模拟退火算法结合的方式能够取得比仅使用PPO算法或仅使用基于随机初始化的模拟退火算法更好的结果。 5.2 在线装箱问题 与离线装箱问题不同的是,在线装箱问题无法得知未来到达物件的信息,因而只能通过动态策略求解,不存在静态装箱解,相比之下,在线装箱问题要取得一个好https://blog.sciencenet.cn/blog-3472670-1312677.html
12.在线/离线规划机器之心在线/离线规划 简介 规划问题是希望在运动期间在线计算目标的轨迹,以允许机器人对移动目标的环境变化和运动过程中遇到的误差作出反应。然而,解决这些问题,是一定困难的。这源于搜索空间的高维度,障碍物的几何性质,优化的成本函数,和机器人的运动学和动力学模型。来在给定的合理的计算资源里,这些问题都会妨碍它足够快的https://www.jiqizhixin.com/graph/technologies/6b18674f-9092-4262-8f6e-b6c5db69b8a3
13.SpaceX告诉你:火箭垂直回收,什么“姿势”最正确新闻频道北京理工大学宇航学院特聘研究员刘新福告诉科技日报记者,在发动机推力可调及着陆缓冲机构等硬件条件的基础上,火箭回收最大的难点是,在着陆段怎样根据火箭的当前位置、速度、姿态等信息,在线实时计算出发动机推力的大小和方向,以实现安全精确着陆,其最核心的技术是着陆段的制导算法。 https://news.cctv.com/m/a/index.shtml?id=ARTIA3OF8Lw42kR6o57Vimha190507
14.LCA算法51CTO博客后两个算法都是在线算法,也很相似,时间复杂度在O(logn)~O(nlogn)之间,我个人认为较难理解。 有的题目是可以用线段树来做的,但是其代码量很大,时间复杂度也偏高,在O(n)~O(nlogn)之间,优点在于也是简单粗暴。 倍增寻找(ST算法): 此算法基于动态规划。 https://blog.51cto.com/u_15072920/3489365
15.多台平行批处理机在线排序和带有运输时间的在线排序我们称一个在线算法是ρ-竞争的是指:对于任何一个实例,在线算法产生的目标函数值至多是离线情形下最优排序目标函数值的ρ倍。给定一个在线排序问题P,称算法A是问题P)的一个最好可能的在线算法是指不存在比算法A具有更好竞争比的在线算法。 批处理排序也是近20年来被研究者们广泛研究的一个现代排序模型。它一般https://wap.cnki.net/touch/web/Dissertation/Article/-2010043431.html
16.年终总结&算法数据的思考&结尾彩蛋RecSys2013的best paper通过调整节点顺序从而优化矩阵分块策略,极大改善了矩阵分解算法的效率,你就要去跟踪来更新自己的旧有离线算法;微软亚研搞出了一个Light LDA允许在低网络流量下去做LDA的多机并行,你就要兴冲冲地跑过去读他们啰啰嗦嗦的几十页的paper,因为终于不用忍受LDA低劣的性能了,而这些追踪往往是无穷无尽https://www.douban.com/note/472267231/?qq-pf-to=pcqq.group
17.什么是自动泊车系统?自动泊车路径规划和跟踪技术分析AVM算法又分为离线阶段和在线阶段两部分,在线阶段是对离线阶段的简化,更加适合于工程实现。 avm系统示意图 离线阶段算法pipeline 先来粗略浏览下AVM算法Pipeline包含那些算子: 2D AVM 2D AVM Pipeline 3D AVM 3D AVM Pipeline 基于畸变表的鱼眼相机去畸变 1.1鱼眼相机畸变模型 普通相机和广角相机的投影方式一般为透视https://m.elecfans.com/article/2020392.html