我们搞数据的,按道理对数据架构应该比较熟悉吧,但自己最近却越来越迷糊了,因为发现很多讲数据管理的书,对数据架构的定义并不一致,有些出入还比较大。
自己赶紧去找权威的定义,发现搜出来的信息也是一地鸡毛,因此特意写这篇文章来探个究竟,即耳熟能详的数据架构到底是什么?
一、业界看法
首先我们来看看DAMA、华为、工业界、DCMM及央行等各领域对于数据架构的具体描述:
1、DAMA:《DAMA数据管理知识体系指南 第二版》
定义:
识别企业的数据需求,并设计和维护总蓝图以满足需求,使用总蓝图来指导数据集成、控制数据资产、并使数据投资与业务战略保持一致。
目标:
识别数据存储和处理要求;设计结构和计划以满足企业当前和长期的数据需求;战略性地位组织做好准备,快速的发展其产品、服务和数据,以利用新兴技术中固有的商机。
构成:
(1)数据模型:企业数据模型是一个整体的、企业级的、独立实施的概念或逻辑数据模型,为企业提供通用的、一致的数据视图。企业数据模型包括数据实体(如业务概念),数据实体间的关系、关键业务规则和一些关键属性,它为所有数据和数据相关的项目奠定了基础。
(2)数据流设计:定义数据库、应用、平台和网络(组件)之间的需求和主蓝图。这些数据流展示了数据在业务流程、不同存储位置、业务角色和技术组件间的流动。
2、工业大数据应用技术国家工程实验室:《数据治理:工业企业数字化转型之道》
定义:
讲企业业务实体抽象为信息对象,将企业的业务运作模式抽象为信息对象的属性和方法,建立面向对象的企业数据模型,数据架构实现从业务模式向数据模型的转变,业务需求向信息功能的映射,企业基础数据向企业信息的抽象。
构成:
(1)数据分布:包括数据目录、数据资源全景图、数据地图分布应用。
数据目录:作为数据共享交换的基础数据,对促进企业内部数据共享与交换、对外上报和公示相关信息都非常重要;
数据资源全景图:是企业全部数据资产的总体视图,既包括分布、流向和交互关系,又包括数据治理、数据服务和数据后期应用的完整视图。
数据地图分布应用:是指站在数据资产全景图的视角查看企业各数据域,在每一个数据域下,可以识别企业各项业务的核心数据主题,明确各个主题间的交互关系,将数据实体分类、形成企业级数据地图。
(2)数据主题域:是最高层级的、以各个主题概念及其之间的关系为基本构成单元的数据主题集合。企业应划分统一的数据主题域,形成统一的企业数据视图。
(3)数据关联关系:首先包括实体、属性、主键、外键、关系及基数,其次包括数据血缘关系,最后包括数据流转关系。
(4)数据模型:包括概念数据模型、逻辑数据模型及物理数据模型。
3、华为:《华为数据之道》
定义:
是指以结构化的方式描述在业务运作和管理决策中所需要的各类信息及其关系的一套整体组件规范。
目标:
定义好整个运作过程中涉及的各种人、事、物资源,并实施有效的治理,从而确保各类数据在企业各业务单元间高效、准确地传递,上下游流程快速地执行和运作。
构成:
(1)数据资产目录:通过分层结构的表达,实现对数据的分类和定义,建立数据模型的输入,形成完善的企业资产地图,也在一定程度上为企业数据治理、业务变革提供了指引。基于数据资产目录可以识别数据管理责任,解决数据问题争议,帮助企业更好地对业务变革进行规划设计,避免重复建设。
(2)数据标准:数据标准定义公司层面需共同遵守的属性层数据含义和业务规则,是公司层面对某个数据的共同理解,这些理解一旦确定下来,就应作为企业层面的标准在企业内被共同遵守。
(3)数据模型:是从数据视角对现实世界特征的模拟和抽象,根据业务需求抽取信息的主要特征,反映业务信息(对象)之间的关联关系。数据模型不仅能比较真实地模拟业务(场景),同时也是对重要业务模式和规则的固化。
(4)数据分布:定义了数据产生的源头及在各流程和IT系统间的流动情况。
4、国标:《DCMM数据管理成熟度模型》及央行:《金融业数据能力建设指引》
定义:
通过组织级数据模型定义数据需求,指导对数据资产的分布控制和整合,部署数据的共享和应用环境,以及元数据管理的规范。
构成:
(1)数据模型:使用结构化的语言将收集到的组织业务经营、管理和决策中使用的数据需求进行综合分析,按照模型设计规范将需求重新组织。从模型覆盖的内容粒度看,数据模型一般分为主题域模型、概念模型、逻辑模型和物理模型。
主题域模型是最高层级的、以主题概念及其之间的关系为基本构成单元的模型,主题是对数据表达事物本质概念的高度抽象。
概念模型是以数据实体及其之间的关系为基本构成单元的模型,实体名称一般采用标准的业务术语命名。
逻辑模型是在概念模型的基础上细化,以数据属性为基本构成单元。
物理模型是逻辑模型在计算机信息系统中依托于特定实现工具的数据结构。
(2)数据分布:针对组织级数据模型中数据的定义,明确数据在系统、组织和流程等方面的分布关系,定义数据类型,明确权威数据源,为数据相关工作提供参考和规范。通过数据分布关系的梳理,定义数据相关工作的优先级,指定数据的责任人,并进一步优化数据的集成关系。
(3)数据集成和共享:是建立起组织内各应用系统、各部门之间的集成共享机制,通过组织内部数据集成共享相关制度、标准、技术等方面的管理,促进组织内部数据的互联互通。
(4)元数据管理:元数据管理是关于元数据的创建、存储、整合与控制等一整套流程的集合。
二、架构的本质
可以看到,业界各方对于数据架构都给出了自己的解释,似乎都有道理,但又有不一致的地方,为什么呢?
我觉得这些都是表象,关键是还是要能深入数据架构概念的本质,看看它的底层逻辑到底是什么,然后才能给出更好的解答,虽然1000个人心中有1000个哈姆雷特,但一定有稳定不变的东西在那里,这就是我们需要掌握的东西,否则人云亦云,学到什么时候才是个头呢?
首先来理解架构这个概念。
先举一个例子:
在最早期,每个人都完全独立生活,衣、食、住、行等等全部都自己搞定,这个时候效率不是很高,但一旦出现了分工,力量就强大多了,因为分工后,每个人可以做最为擅长的事情,但这个时候必须要通过某些机制合在一起,让每个人能交易到自己不擅长生产的东西。
在每个人都必须自己完成所有生活必须品的生产的时候,是没有架构的,一旦产生的分工,就把所有的事情,切分成由不同角色的人来完成,最后再通过交易,使得每个个体都拥有生活必须品,这实际上就形成了社会的架构。
那么怎么定义架构呢?
把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。
再拿建筑来举例加强一下理解。
最开始人类是住在山洞里,住在树上的,主要是为了躲避其他猛兽的攻击,以及减少自然环境的变化。为了完成这些目标,人类开始学会在平地上用树木和树叶来建立隔离空间的设施,这就是建筑的开始。但是完全隔离也有很多坏处,慢慢就产生了门窗等设施。建筑的本质就是从自然环境中,划出一块独占的空间,但是仍然能够通过门窗等和自然环境保持沟通。这个时候架构就已经开始了。
人们对建筑的需求慢慢的越来越多,空间的切分也会变成很多种,组合的方式也会有很多种,比如每个人住的房子,需要区分厨房、洗手间、书房、卧室等等,这个时候人们就开始有意识的去设计房子,架构师就慢慢的出现了。一切都是为了满足人的越来越高的需求,提升质量,减少时间,更有效率的切分空间,并且让空间之间更加有机的进行沟通。这就是建筑的架构以及建筑的架构的演变。
总结一下,什么是架构,就是:
(1)根据要解决的问题,对目标系统的边界进行界定。
(2)并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。
(3)并对这些切分出来的部分,设立沟通机制。
(4)根据(3),使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
看了上面的例子,你就能完全理解DAMA对架构做的一个更抽象的定义,即架构是对组件要素的设计,旨在优化整个结构或系统的功能、性能、可行性、成本和用户体验。在国际标准ISO/IEC/IEEE 4:中,将架构定义为:“系统的基本结构、具体体现在架构构成的组件、组件之间的相互关系以及管理其设计和演变的原则”。
三、数据架构的本质
1、数据是业务的映射
建筑架构的目的是让人们住的更舒服,那数据架构的目的当然是让存储和使用数据的应用或系统能够更顺畅的运转,因此,无论是DAMA还是《华为数据之道》都在强调这一点,特别是华为,直接点出了数据架构的目的就是“确保各类数据在企业各业务单元间高效、准确地传递,上下游流程快速地执行和运作”。
企业为实现价值创造,从输入客户要求开始到交付产品及服务给客户获得客户满意并实现企业自身价值的E2E(端对端)业务过程就是业务流。
业务对象是指业务流中涉及的人、事、物,业务对象承载了业务运作和管理涉及的重要信息,业务对象会随着事件的驱动在业务流中流转,业务对象的载体是数据,流动的信息也是数据,这些数据只有满足下游的要求,业务流才能顺畅流动起来,否则价值创造过程就会受阻或停滞。
IT承载的是业务流以及数据,IT支撑每一个作业以及作业输出的数据,通过IT实现数据之间的集成,流程的自动化。
可以这么说,业务是由业务对象和业务流构成的,数据则是业务的映射。
2、数据如何有效切分
业务一般是非常复杂的,为了方便管理业务,首先需要切分业务,每个切分的子业务域最好是高内聚,松耦合。高内聚的目的就是为了专业化,这样子业务域的运作效率就高,松耦合的目的是子业务域之间的沟通成本最好低一点,这样整体的运作效率就越高,现在DDD(领域驱动的设计)本质就是为了达成这个目标。
子业务域是专业化的业务对象的集合,对业务的要求自然映射到了对业务对象的要求,那如何实现业务对象“高内聚,松耦合”的设计呢?
这自然是数据模型要完成的事情,数据模型代表了业务切分的结果。
因此,数据模型是数据架构的核心构件,国标DCMM对于数据模型的描述非常到位,分为四个层级,主题域模型、概念模型、逻辑模型和物理模型,这些模型的设计体现了切分的思维,也体现了切分的粒度变化。
3、数据如何有效流转
切分只是完成了数据架构的第一步,切分后还需要确保各子领域能够高效的沟通,这依赖数据流的合理设计,数据流可以用于描述不同层级模型的映射关系,无论是主题域、业务实体、乃至属性层面的映射关系,体现了数据在流程和IT系统上流动的全景视图,其至少需要达成以下目标:
(1)明确数据实体在哪个源头产生
(2)数据实体出现在业务流的哪个环节
(3)数据实体出现在哪个流转系统
数据流设计要确保数据语言的一致性,促进业务流能够顺利的运转,就好比人类分工了以后,需要通过统一货币才能促进交易一样。现在数据治理特别强调数据源的一致性,要求业务数据必须认证数据源,在公司范围内统一发布,目的就是统一语言。
因此,无论是叫数据流还是数据分布,都属于数据架构的核心构件,这是业界的共识。
我认为数据模型和数据流(或叫数据分布)是数据架构最本质的东西,其让业务切分的合理并且切分后沟通顺畅。
四、数据架构的衍生
DCMM将数据集成和共享纳入数据架构的范畴,我觉得主要是业务流的内涵扩大导致的结果,因为以前的业务流仅局限在OLTP系统内部,OLAP起来后,通过集成多方业务流的数据,可以产生更有价值的数据。
这些价值数据通过共享手段反哺到业务流,可以促进业务流的进一步优化,从这个角度来讲,数据集成和共享应该纳入数据架构,因为它起到了提升沟通效率的作用,这是与时俱进的结果。
随着数据被纳入生产要素,这个趋势估计会越来越明显吧,当然,这仅是我的一个猜测,毕竟只有DCMM一家这么做。
华为把数据资产目录和数据标准当成数据架构的组件,应该是管理提升的需要,但并不是数据架构必需的。
以前数据模型的设计都是一堆乱七八糟的PDM,PDM实例化后,其数据架构已经在系统实现了,但如果你要去修改完善,会发现这些数据模型的设计信息没人管、找不到、看不懂,这阻碍了数据架构的进一步优化,因此搞个数据资产目录作为指引。现在数据资产目录作用越来越大,因为数据集成和共享的时候特别需要。
数据标准的制定则让各环节数据流上的数据可以更好的保持一致性,它是数据流的增强。
DCMM将元数据管理纳入数据架构的范畴,估计跟华为也类似,只是范围进一步扩大了。
工业大数据的数据主题域属于数据模型的一部分,数据关联关系的实体、属性等属于数据模型一部分,数据血缘关系和流转关系则属于数据流一部分。
因此,虽然DAMA、华为、工业、DCMM及央行对于数据架构的构成有不同的描述,但都包括了数据架构最本质的东西,即数据模型和数据流,至于其它的东西,那就见仁见智了。
DAMA、DCMM等数据管理框架各个能力域的划分是否合理?有内在逻辑吗?by 傅一平
人人都在讲数据治理而不问业务,这很危险 by 傅一平
数据管理咨询为什么难以成功?
谈谈华为数据之道的“不能”
华为数据之道为什么这么有吸引力?by 傅一平
部门不开放自己的数据,到底在怕什么?
数据治理项目失败,90%都是被这样搞垮的!
报表治理的15个有效策略 by 大鱼先生
数据治理的21个有效策略 by 傅一平
点击左下角“阅读原文”查看更多精彩文章,公众号推送规则变了,如果您想及时收到推送,麻烦右下角点个在看或者把本号置顶!