当前位置: 首页 > 科技观察

终于有人把数据架构解释清楚了

时间:2023-03-19 00:59:09 科技观察

01数据架构的由来是一个数据人的底层思维逻辑。所以,先说说数据架构的由来(出处可以,就一个意思)。其实我们在IT行业常说的软件架构、系统架构、XX架构的核心思想都是从建筑行业学来的。英文单词“Architecture”本身的意思是“建筑、建筑物和结构建筑”。意思是。在DAMA-DMBOK2中,指出“数据架构”是“企业架构”的重要组成部分。说到企业架构,起源于IBM的SystemMagazine的一篇文章《Aframeworkforinformationsystemsarchitecture》。本文作者JohnZachman是业界公认的企业架构理论的先驱,他提出的企业架构理论就是大家熟知的“Zachman框架”!简单理解,建筑学就是研究如何将一堆砖块、水泥、钢筋等建筑材料按照一定的结构建造成各种满足人们生活和工作需要的建筑。事实上,Zachman先生的企业架构思想也是源于“架构”,其本质原则是从现状向目标迁移的过程。因此,企业架构包括当前架构、目标架构、迁移计划和IT路线图。关于企业架构,除了Zachman框架外,还有联邦企业架构框架(FEA)、国防部架构框架(DODAF)、UDPM、UAF等,当然还有非常流行的——Togaf框架。每个企业架构框架的管理原则都与推动业务战略以及IT如何实现未来目标有关。通常,企业架构由四个基本的相互关联的专业领域组成:业务架构:定义组织的业务战略、公司治理、组织结构和关键业务流程;应用架构:定义要部署的应用系统之间的交互及其与组织核心业务流程的关系,提供蓝图,并为集成业务功能暴露服务接口;数据架构:描述组织的逻辑和物理数据资产以及相关数据管理资源的结构;技术架构:描述支持部署核心任务的关键应用所需的硬件、软件和网络基础设施;02数据架构的演进作为企业架构的组成部分,数据架构在不同的时代有着不同的形态。它随着信息技术的不断发展而演变。预进化。1、单体应用架构时代信息化初期(80年代),企业信息化建设初具规模,信息系统以单体应用为主,如早期的财务软件、OA办公软件等。这一时期,数据管理的概念还处于初级阶段,数据结构比较简单,主要是数据模型和数据库设计,能够满足系统业务的需要。2、数据仓库时代随着信息系统的使用,系统的数据逐渐积累起来。这时候人们发现数据对企业来说是有价值的,但是碎片化的系统导致产生了大量的信息孤岛,严重影响了企业对数据的使用。于是,一个面向主题的、集成的、用于数据分析的新架构诞生了,这就是数据仓库。与传统的关系数据库不同,数据仓库系统的主要应用是OLAP(联机分析处理),它支持复杂的分析操作,侧重于决策支持,并提供直观易懂的查询结果。在这个阶段,数据架构不仅关注数据模型,还关注数据的分布和流动。3、大数据时代大数据技术的兴起,使企业能够更灵活、更高效地使用自身数据,从数据中提炼出更重要的价值。同时,在大数据应用需求的驱动下,各种大数据架构也在不断发展演变,从批处理到流处理,从集中式到分布式,从批流一体化到全实时。1)传统大数据架构之所以称为传统大数据架构,是因为它解决了数据仓库和BI应用的性能瓶颈问题。数据分析业务没有任何变化,主要是技术升级。传统大数据架构的结构与数据仓库基本相同,仍然分为数据采集、数据处理、数据输出和展示三个部分。▲图片:传统大数据架构,来源:李子哥《从传统大数据架构到Lambda架构到Kappa架构》相对于传统的数据仓库,传统的大数据架构是基于hadoop的各种组件构建的,例如:数据存储的HDFS,数据的Sqoop、Flume、Kafka采集等。数据处理采用MapReduce、Hive、Spark等,大数据技术的应用大大提高了数据处理的性能。2)Lambda架构Lambda是大数据架构中重要的大数据架构。Lambda的数据通道分为实时流和离线两个分支。实时流基于流式架构,保证了其实时性,而离线模式主要是批处理,保证了最终的一致性。Lambda架构一共由三层组成:批处理层(BatchLayer)、速度处理层(SpeedLayer)、响应查询的服务层(ServingLayer)。▲图片:Lambda架构,来源:李子大哥《从传统大数据架构到Lambda架构到Kappa架构》Lambda架构灵活,可以适用于多种应用场景,但也存在一些不足之处。实时层和离线层模块冗余,维护复杂。3)Kappa架构Kappa架构在Lambda的基础上进行了优化,融合了实时和流式部分,用消息队列代替了数据通道。Kappa架构解决了Lambda架构需要维护两套代码分别运行在批处理和实时计算系统上的问题,全程使用流式系统处理全量数据。▲图片:Kappa架构,来源:栗子哥《从传统大数据架构到Lambda架构到Kappa架构》在大数据时代,我们上面介绍的几种大数据架构,虽然名字中都带有“数据架构”二字,但和我们现在的数据架构还是有区别的今天要谈谈。不完全一样。大数据架构准确的说应该叫大数据技术架构,数据架构是用来承接业务的,技术是其实现手段。技术架构会影响数据架构,但无论技术怎么变,数据架构的本质没有变。它始终是数据模型、数据流向、数据分布、数据处理方式的综合反映。03数据管理中的数据架构数据架构的定义在业界还没有形成统一的认识。不同的人可能对数据架构有不同的理解。我们其实可以借鉴几个权威的数据管理系统。瞥一眼或两个。1.DAMA-DMBOK2中的数据架构DAMA的DataManagementBodyofKnowledgeGuide(DMBOK2)中对数据架构的定义是:“识别企业的数据需求(不考虑数据结构),设计和维护整体蓝图以满足这些要求。使用主蓝图来指导数据集成、控制数据资产并使数据投资与业务战略保持一致。”主要包括企业数据模型、数据流设计、数据价值链和实施路线图两部分。图:Dama数据架构,来源《DAMA数据管理知识体系指南2.0》企业数据模型:企业数据模型是一个整体的、企业级的、独立实现的概念或逻辑数据模型,为企业提供一个通用且一致的数据视图。企业数据模型包括数据实体(如业务概念)、数据实体之间的关系、关键业务规则和一些关键属性,它们为所有数据和与数据相关的项目奠定了基础。数据流设计:定义数据库、应用程序、平台和网络(组件)之间的需求和主蓝图。这些数据流展示了业务流程、不同存储位置、业务角色和技术组件之间的数据流向。数据价值链:DMBOK2中没有明确解释。笔者理解是基于企业核心业务价值链的数据分布和流向,与数据流向设计是一致的。ImplementationRoadmap:描述框架未来3到5年的发展路径。路线图和业务需求共同将目标架构变为现实,同时考虑现实和技术评估。企业架构实施路线图包括:高层里程碑事件、所需资源、成本评估、业务能力工作流划分。2.DCMM中的数据架构在国家标准《数据管理能力成熟度评估模型(DCMM)》中,数据架构是DCMM的八大领域之一。其对数据架构的定义是:“通过组织数据模型定义数据需求,指导数据资产的分布控制与整合,部署数据的共享与应用环境,以及元数据管理的规范”。在DCMM中,数据架构包括四个部分:数据模型、数据分布、数据集成与共享、元数据管理。数据模型:使用结构化语言对收集到的组织业务运营、管理和决策中使用的数据需求进行综合分析,并按照模型设计规范对需求进行重组。数据模型包括:主题领域模型、概念模型、逻辑模型和物理模型。数据分布:针对组织级数据模型中的数据定义,明确数据在系统、组织、流程中的分布关系,定义数据类型,明确权威数据来源,为数据相关工作提供参考和规范.数据集成共享:建立组织内各应用系统、各部门之间的集成共享机制,通过管理组织内数据集成共享的相关制度、标准和技术,促进组织内数据的互联互通。组织。元数据管理:主要是元数据的创建、存储、集成、控制等一整套过程的集合。3、在《华为数据之道》一书中以及华为的众多公开资料中,华为的数据方法并没有明确给出数据架构,而是给出了信息架构的概念:“指的是对业务运作进行结构化的描述。管理决策所需的各种信息及其关系的一套总体组件规范。”从定义上看,华为给出的信息架构很熟悉我们所说的数据架构,包括数据资产目录、数据标准、数据模型、数据分布四个部分。▲图:信息架构,来源《华为数据治理之旅》数据资产目录:通过层次结构的表达,实现数据的分类定义,建立数据模型的输入,形成完整的企业资产图谱,也就是一定程度上为企业数据治理、业务变革提供了指导。基于数据资产目录,可以明确数据管理责任,解决数据问题纠纷,企业可以更好地规划设计业务变更,避免重复建设。数据标准:数据标准定义了属性层数据的含义和公司层面必须遵守的业务规则。是公司层面对某个数据的共识。一旦确定了这些理解,它们就应该作为企业级标准在企业中得到遵守。.数据模型:是从数据的角度对现实世界的特征进行模拟和抽象,根据业务需求提取信息的主要特征,反映业务信息(对象)之间的关系。数据分布:定义数据生成的来源及其在各种流程和IT系统之间的流动。DAMA的DMBOK2、国标的DCMM、华为的DataWay是业界公认的三大主流数据管理系统。可以看出,数据架构的定义和内容在这三个系统中是不同的。那么,您认为您的数据架构应该是什么?或者说,以上三种数据管理系统,你认为哪种数据结构更合理,更符合企业管理和使用?接下来说说数据架构的底层逻辑吧!04数据架构底层逻辑在遥远的原始社会,人类居住在山洞和荒野中。原始社会的人类为了适应自然、抵御野兽,会用一些大树或直接用地上的枝叶搭建一些简易的房屋或栅栏。这时,人类建筑学的思维模式开始萌芽。从原始部落的窑洞、茅草屋,到今天的钢筋水泥、高楼大厦,建筑结构的发展本质上是一部人类不断追求居住环境的功能和性能的发展史。与建筑行业相比,IT行业还是一个年轻的行业,它的一些理论体系是从传统行业引进的,包括我们今天说的“建筑学”。架构思维的底层逻辑是将一个复杂的系统从多个维度分解为多个架构元素,并定义这些元素之间的接口、交互关系和集成机制。根据“熵增定律”,架构的本质是有序地重构系统,不断降低系统的“熵”,使系统不断进化。在这里,所谓“熵”指的是构成软件的相关架构元素:组件、结构、功能、流程、数据、接口等。架构的本质就是不断降低系统的“熵”,数据架构也是如此。数据架构的底层逻辑具有一定的数据资源规划内涵,即对企业数据进行结构化、有序化的管理,使企业从数据孤岛走向数据共享,从而更好地管理企业数据,流动和使用。充分释放数据的价值。基于这个底层逻辑,我们不难理解,DAMA、DCMM和华为在数据架构定义和内容上有所不同,但本质是一样的。在DAMA的数据管理体系中,数据架构的核心是数据模型和数据流,数据架构的设计、数据的主要价值链、数据架构的实现都围绕着梳理,数据模型和数据流的设计和实现。的。在DCMM体系中,数据架构除了数据模型和数据分布(数据流)之外,还包括数据集成共享和元数据管理。这两个比较大的数据管理领域,在数据架构上有点突兀。但是,数据模型和数据分布是通过元数据实现的,数据集成和共享也是一种数据模型,集成过程也体现了一定的数据流向。所以DCMM的核心其实就是数据模型和数据流向。在华为的数据方法中,没有提到数据架构,而是信息架构。如果我们基于“DIKW模型”,理解“数据-信息-知识-智慧”,其实更容易理解华为的信息架构。在笔者看来,华为的信息架构是对数据架构的进一步细化,是从数据管理实践的角度来定义的。如果说其他两个系统的数据架构更偏理论和技术,那么华为给出的信息架构更偏实用和面向业务,但其基本内容不变,还是数据模型和数据分布。在企业数据项目的实践中,数据架构连接着企业数据管理的现状和未来要实现的目标。笔者认为,不必纠结于哪个系统的数据架构理论更严谨、更有逻辑性,而应该着眼于数据目标。在实现上,“能抓到老鼠的猫就是好猫!”