数据中台架构体系浅析[通俗易懂]

数据中台架构体系浅析[通俗易懂]中台出现的背景 从技术上来看,随着业务的发展,很多企业在前期搭建了很多的IT系统,系统间像烟囱一样相互独立。在面对着越来越复杂的业务,越来越多的数据,企业IT在扩展旧系统上出现了一定的局限,从而产生不

中台出现的背景

从技术上来看,随着业务的发展,很多企业在前期搭建了很多的IT系统,系统间像烟囱一样相互独立。在面对着越来越复杂的业务,越来越多的数据,企业IT在扩展旧系统上出现了一定的局限,从而产生不断的重复建设的问题,企业需要制定数字转型改革的战略,来解决复杂业务系统之间的解耦问题,从而降低产品各个模块的依赖,提高复用程度。

 

从管理架构上来看,随着公司业务的不断壮大,每个团队都需要技术,产品,市场等方面的基础支持,各个团队开展业务时需要的支持有很大程度上的重复,但是由于从制度上每个业务部门都是进行独立考核的,导致业务部门往往从自身利益出发,互相之间争夺资源,隔阂不断上升,资源无法高效利用。

 

企业在这样的背景下,需要寻求可以打破这样困境的方法。在2015年,在业务的快速扩张,阿里巴巴同样也面临相同的困境,阿里巴巴借鉴前人的一些方法,提出数据中台的概念,从组织架构上,不再采用具体的业务模块下分设事业部的方式,而是将细分事业部打乱,根据具体业务将其中一些能够为业务线提供基础技术,数据等支撑部门整合为 “共享事业部”,目的在于有效地利用共享资源,为一线业务提供支持。阿里巴巴内部在技术上也做了一定的调整,通过ESB(Enterprise Service Bus)来实现SOA(Service Oriented Architecture)的企业级信息系统基础平台,降低不同模块开发团队间的协同成本,业务相应更快速。打造“大中台,小前台“体系架构,统一为业务线提供支持和帮助。

理解数据中台

数据中台是企业数据产品和数据服务的搭建和实施的方法论,数据中台不仅仅是工具,它还包括系统架构、数据图谱、数据质量、组织架构、规范流程等一切与企业数据价值相关的建设体系。它通过一系列方法和体系来为业务系统提供计算和分析服务。

 

不同行业的经营策略和数据场景千差万别,所涉及的系统和工具也非常多选择,同一行业不同企业对于数据架构的建设思路也不尽相同,这就导致了每一家企业的数据中台不能通过简单复制。但是对于企业在数据中台的体系建设和管理规范流程,都是有规矩可循,可以寻求相似的方法。

 

怎么建设数据中台

数据中台整体的建设方案涉及到数据产品,方法论及数据服务的整体的输出,可以从以下几个方面来描述:

 

1. 数据技术搭建。

数据技术搭建包括数据架构的搭建以及数据模型的搭建。数据架构的搭建包括底层架构,数据存储平台,数据分析工具的搭建等。数据模型搭建包括业务调研,以及模型设计与开发。

1.1 架构搭建

在我们进行数据运算之前,我们需要先搭建适合数据分析的软硬件环境。基础架构的选择,如服务器应该用私有云,公有云还是自建机房。系统需要处理的数据是离线数据还是实时数据,数据存储类型是关系型还是非关系型。如何选择基础软件,数据存储工具,数据处理工具,数据展示工具等。工具的选择有非常多种,没有优劣之分,需要跟据企业自身的环境来选择合适的工具。

 

1.2 数据模型

1.2.1 业务调研

需要由企业策略部门来分析这些数据应该支撑怎样的决策,会从哪些方面来进行分析。再细致到确定哪些业务指标,数据指标的定义,业务场景,以及指标建设的价值。根据指标的业务口径,来确定指标的技术口径 ,在存储层面需要用到什么样的表和字段,过程中使用怎样的计算公式进行计算。对指标的业务定义进行技术层面的转换,经行数据计算的原型设计和评审。

 

1.2.2 模型设计

本文主要参照Inmon 企业信息工厂,Kimball 的维度建模, 阿里的OneData建模理论等来阐述数据模型的设计。采用三层建模的方式进行数据的组织存储,分为ODS(操作数据层),CDM(数据公共层)、ADS(应用数据层)。

 

数据中台架构体系浅析[通俗易懂] 

ODS层(操作数据层):

又叫数据登台区,把来源于其他系统的数据,几乎无处理的存放到数据中台,把结构化和非结构化数据抽取和存储到数据ODS层,把有必要转换的非结构化数据转换为结构化数据,对数据做一些必要的清洗和历史数据沉淀。

 

CDM层(数据公共层)

又细分为DIM层(公共维度层),DWD层(明细宽表层)和DWS层(公共汇总层)。

 

DIM层(公共维度层)采用一致性维度规范来进行建设,维度表中维度属性在不同物理表中的字段名称,数据类型,数据内容保持一致。维度可以做适当的合并和拆分。维度中描述业务相关性强的字段合并在一个物理维表中实现,如品牌和品类。无强相关性,但有一定业务联系的属性可以适当考虑放在杂项维度。对于维度属性过多,记录数过大的维度可以适当拆分。

 

DWD层(明细宽表层)

明细宽表层包含事务型事实表,周期快照型事实表,累计快照事实表。事务性事实表主要用于分析行为与追踪事件,代表业务过程中的行为细节。周期快照型事实表用于分析事物的状态和存量事实,以预定时间来采样事实的状态。累计快照事实表是指多个业务过程联合分析的事实的累计情况,如不同事件的时间间隔,支付时长,发货时长,退款时长等;

 

DWS层(公共汇总数据层)

公共汇总层基于明细宽表层的数据进行一定程度的汇总和加工;

 

ADS层(数据应用层)

主要存放为应用而加工的个性化指标和维度,主要来源于CDM层。比如复杂的指标的预处理(比率型指标,排名指标等)。以及基于应用的表处理,行列转换等。

 

基于这些数据处理的过程,数据再以各种形式提供给数据应用层来使用。

 

2. 数据资产管理。

数据资产管理是把数据当成是企业所拥有的资产一样来进行管理。包括元数据管理(其中会有数据图谱,血缘分析,影响分析等)、数据质量管理、数据生命周期管理。

 

2.1 元数据管理

数据中台来源数据多样,多源,多域,通过数据的清洗、分类、拉通、整合、汇总等,数据的使用者需要有一份清晰的数据资产目录,从而了解数据的来龙去脉,对数据的使用有更清晰的认识。支撑数据的抽取,加工,发布,维护,归档等步骤的生命周期过程的管理。元数据管理会把企业的数据由源头,入库,计算,应用的整个处理过程进行梳理和管控。

 

2.2 数据质量管理

数据质量管理指的是在数据加工链路的所有重要环节中需要对数据的质量做评估和控制,根据数据的处理特性来采取相应的数据质量校验。数据质量必须包括几个方面:1)完整性 2)规范性 3)一致性 4) 准确性 5) 一致性 6)及时性。通过对数据质量的统一规范的定义,按照定义的标准,对数据中台处理过程中所涉及到的数据进行检查,从而实现数据质量进行评价和量化。数据质量管理是数据应用的必要步骤,数据应用必须以保证数据是准确,完整的为前提。

 

3. 数据服务。

一切数据加工和计算都是为数据服务而建立的。数据服务包括数据分析服务和数据应用服务,数据应用服务如生意参谋和阿里指数是数据中台中面向商家端提供的数据服务。数据处理的结果通过各种形式的数据呈现,来帮助企业管理层和业务部门进行商业决策,

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10781.html

(0)
上一篇 2022-12-21
下一篇 2022-12-22

相关推荐

  • Python加注释示例

    Python加注释示例Python是一门流行的编程语言,因为它易于学习、具有强大的功能和易于阅读的语法。在实际应用中,为了方便代码的维护、优化和改进,我们需要加入注释。注释是程序员用来解释代码功能、提醒自己或其他开发人员注意事项的文本,它们并不被解释器执行。Python中的注释以井号(#)开头,它可以单独出现一行中,也可以跟在代码后面。

    2024-09-01
    20
  • MySQL DQL 去重教程表代码「建议收藏」

    MySQL DQL 去重教程表代码「建议收藏」垃圾的撒娇的风景色谱发票为菩萨的搭配覅色谱法配色【】we9rfpqsoedufoiewrun拍摄跑调覅就怕是东风破一坚实的皮肤的胜多负少的 的食品发票速度发票首都非破损的赔付喷水电机 山东分批进隧道排

    2023-04-24
    134
  • Python 中的difflib模块

    Python 中的difflib模块在下面的教程中,我们将了解 Python 编程语言中的 codedifflib/code模块。我们将讨论这个模块的功能以及一些基于它的类的例子。

    2023-12-04
    122
  • 使用Pycharm进行Python调试

    使用Pycharm进行Python调试随着Python语言的不断发展,很多开发者已经开始使用Pycharm进行集成开发环境的构建。Pycharm具有许多有用的功能,其中最有用的就是Python调试器。

    2024-08-17
    25
  • windows mysql 修改密码_win10系统如何修改开机密码

    windows mysql 修改密码_win10系统如何修改开机密码Mysql 密码修改 win10 忘记密码 新建用户 更新密码

    2023-03-12
    135
  • Python程序报错:name ‘a’ is not defined解决方法

    Python程序报错:name ‘a’ is not defined解决方法在Python编写程序的时候,经常会遇到“name ‘a’ is not defined”这样的报错信息。这个报错信息的意思是说,Python找不到变量a的定义。出现这个错误,通常是因为在代码中使用了未定义的变量或者变量名写错了。

    2023-12-24
    105
  • [20191115]oracle实例占用内存计算.txt

    [20191115]oracle实例占用内存计算.txt[20191115]oracle实例占用内存计算.txt–//以前学习oracle数据库时,总想了解实例占用内存多少,我曾经在一些会议底下问过一位高手,对方说计算这个相对很难,许多东西是共享的.–

    2022-12-18
    144
  • mongodb聚合机制_mongodb集群模式

    mongodb聚合机制_mongodb集群模式$out 将聚合管道中的文档,写入到一个新的集合 output 中。如果 output 已存在且有数据,则原有的数据会被清空 db.transactions.aggregate([ { $group…

    2023-02-14
    154

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注