文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

终于有人把数据架构讲明白了

2024-12-02 03:26

关注

其实,我们现在IT行业经常说的软件架构、系统架构、XX架构的核心思想都是从建筑行业学来的,架构的英文单词“Architecture”其本身就是“建筑学、建筑物、结构构造”的意思。

在DAMA-DMBOK2中指出“数据架构”是“企业架构”的一个重要的组成部分。

而提到企业架构,它是起源于IBM公司系统杂志的一篇文章“A framework for information systems architecture”,这篇文章的作者John Zachman,是业内公认的企业架构理论的首创者,而他提出企业架构的理论就是我们熟知的“Zachman框架”!

简单理解,建筑学就是研究如何将一堆砖头、水泥、钢筋等建筑材料按照一定的结构搭建起来,形成满足人们生活、工作所需的各式建筑物。实际上,Zachman老先生的企业架构思想也是源自于“建筑学”,其本质的原理都是从现状向目标迁移的过程。因此,企业架构包含了当前架构、目标架构、迁移计划和IT路线图。

关于企业架构,除了Zachman框架之外,还有联邦企业架构框架(FEA)、国防部架构框架 (DODAF)、UDPM、UAF等,当然还有非常流行的——Togaf框架。每个企业架构框架的管理原则都涉及推动有关业务战略及其如何通过 IT 实现未来目标。通常,企业架构是由四个基本的相互关联的专业领域构成:

02数据架构的演进

作为企业架构的组成,数据架构在不同时代,其形态也是不一样,它是随着信息技术的不断发展而向前演进的。

1. 单体应用架构时代

在信息化早期(上世纪80年代),企业信息化初步建设,信息系统以单体应用为主,例如:早期的财务软件、OA办公软件等。这个时期还没有数据管理的概念还在萌芽期,数据架构比较简单,主要就是数据模型、数据库设计,满足系统业务使用即可。

2. 数据仓库时代

随着信息系统使用,系统的数据也逐步积累起来。这时候,人们发现数据对企业是有价值的,但是割裂的系统导致了大量信息孤岛的产生,严重影响了企业对数据的利用。于是,一种面向主题的、集成的、用于数据分析的全新架构诞生了,它就是数据仓库。

与传统关系数据库不同,数据仓库系统的主要应用是OLAP(On-Line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。这个阶段,数据架构不仅关注数据模型,还关注数据的分布和流向。

3. 大数据时代

大数据技术的兴起,让企业能够更加灵活高效地使用自己的数据,从数据中提取出更多重要的价值。与此同时,在大数据应用需求的驱动下,各类大数据架构也在不断发展和演进着,从批处理到流处理,从大集中到分布式,从批流一体到全量实时。

1)传统大数据架构

之所以叫传统大数据架构,是因为其解决的是数据仓库、BI应用的性能瓶颈问题,数据分析业务没有发生任何变化,主要是技术上的升级。传统大数据架构从结构上与数据仓库基本一致,还是分为三个部分:数据采集、数据处理、数据输出与展示。

▲图:传统大数据架构,来源:51CTO 栗子哥《从传统大数据架构到Lambda架构到Kappa架构》

相比传统数据仓库,传统大数据架构是基于hadoop的各类组件构建的,例如:数据存储用HDFS,数据采集用Sqoop、Flume、Kafka等,数据处理用MapReduce、Hive、Spark等,大数据技术的应用使得数据处理的性能得到了巨大提升。

2)Lambda架构

Lambda是大数据架构中举足轻重的一个大数据架构,Lambda的数据通道分为两条分支:实时流和离线。实时流依照流式架构,保障了其实时性,而离线则以批处理方式为主,保障了最终一致性。Lambda 架构总共由三层系统组成:批处理层(Batch Layer),速度处理层(Speed Layer),以及用于响应查询的服务层(Serving Layer)。

▲图:Lambda架构,来源:51CTO 栗子哥《从传统大数据架构到Lambda架构到Kappa架构》

Lambda 架构灵活,可以适用多种应用场景,但在也存在着一些不足,实时层和离线层模块冗余、维护复杂。

3)Kappa架构

Kappa架构在Lambda 的基础上进行了优化,将实时和流部分进行了合并,将数据通道以消息队列进行替代。Kappa架构解决了Lambda 架构需要维护两套分别跑在批处理和实时计算系统上面的代码的问题,全程用流系统处理全量数据。

▲图:Kappa架构,来源:51CTO 栗子哥《从传统大数据架构到Lambda架构到Kappa架构》

大数据时代,我们以上介绍的几种大数据架构,虽然名字中都含有“数据架构”四个字,但是和我们今天要讲的数据架构还不完全是一回事,大数据架构准确来说,应该叫大数据技术架构,而数据架构是用来承接业务的,技术是其实现手段。

技术架构会影响数据架构,但不论技术如何变迁,数据架构的本质并没有变,它始终都是数据模型、数据流向、数据分布和数据处理方式的综合体现。

03数据管理中的数据架构

关于数据架构的定义其实在业内并没有形成统一的认知,不同人对于数据架构的理解或许都是不同的,这一点我们其实可以从几个权威的数据管理体系中窥见一二。

1. DAMA-DMBOK2中的数据架构

在DAMA的数据管理知识体系指南(DMBOK2)中对数据架构的定义是:“识别企业的数据需求(无论数据结构如何),并设计和维护总蓝图以满足这些需求。使用总蓝图来指导数据集成、控制数据资产,并使数据投资与业务战略保持一致”。其主要包含两个部分:企业数据模型、数据流设计、数据价值链、实施路线图。

图:Dama数据架构,来源《DAMA数据管理知识体系指南2.0》

2. DCMM中的数据架构

在国标《数据管理能力成熟度评估模型(DCMM)》中,数据架构是DCMM的8大领域之一,它对数据架构的定义是:“通过组织数据模型定义数据需求,指导数据资产的分布控制和整合,部署数据的共享和应用环境,以及元数据管理的规范”。

在DCMM中,数据架构包含了数据模型、数据分布、数据集成与共享、元数据管理四个部分内容。

3. 华为的数据之道

在《华为数据之道》一书以及华为很多公开材料中,并没有明确给出数据架构,而是给出了信息架构的概念:“是指以结构化的方式描述在业务运作和管理决策中所需要的各类信息及其关系的一套整体组件规范。”

从定义上看,华为给出的信息架构和我们所说的数据架构是十分相识的,它包括了数据资产目录、数据标准、数据模型、数据分布四个部分。

▲图:信息架构,来源《华为数据治理之旅》

DAMA的DMBOK2、国标的DCMM、华为的数据之道是当下业界认可的三个主流据管理体系。可以看到,在这三个体系中关于数据架构的定义和内容都不相同。那么,您认为的数据架构应该是什么?或者说,您认为以上三个数据管理系统中,哪个数据架构更合理、更符合企业管数、用数的?

接下来,我们聊聊数据架构的底层逻辑!

04数据架构的底层逻辑

在遥远的原始社会,人类过着穴居野处的生活,为了适应自然,抵御猛兽,原始社会的人类会利用一些大树或者直接在地上用树枝树叶搭建一些简易的房子或栅栏。这个时候,人类建筑架构的思维模式已经开始萌芽。从原始部落的穴居野处、茅屋蓬荜,到如今的钢筋水泥、高楼林立,建筑架构的发展,本质是一部人类对居住环境的功能和性能不断追求的发展史。

相比建筑业,IT行业还是一个年轻的行业,它的一些理论体系都是从传统行业中引进而来的,包括我们今天聊的“架构”。架构思维的底层逻辑是将一个复杂的系统,从多个维度分解为多个架构元素,并定义这些元素之间的接口和交互关系、集成机制。

按照“熵增定律”,架构的本质就是就是对系统进行有序化重构,不断减少系统的“熵”,使系统不断进化。而这里,所谓的“熵”就是构成软件的相关架构元素:组件、结构、功能、流程、数据、接口等。

架构的本质是不断减少系统的“熵”,数据架构也一样。数据架构的底层逻辑具有一定的数据资源规划的内涵,是对企业数据进行结构化、有序化治理,让企业从数据孤岛走向数据共享,让企业数据能够更好的被管理、流动和使用,充分释放数据价值。

基于这一底层逻辑,我们就不难理解DAMA、DCMM和华为在数据架构定义和内容上,虽然有所差异,但本质是一样的。

在DAMA的数据管理体系中,数据架构最核心的是数据模型和数据流,而数据架构的设计、数据主价值链,数据架构实施都是围绕数据模型和数据流的梳理、设计和落地而展开的。

在DCMM体系中,数据架构除了数据模型和数据分布(数据流)还包含了数据集成共享和元数据管理,这两个也数据管理中比较大的领域,放在数据架构中略显突兀。但是,数据模型、数据分布是通过元数据落地的,而数据集成共享也是数据模型并且集成的过程也反映了一定的数据流向,因此DCMM的核心其实还是数据模型和数据流向。

在华为数据之道中,没有提数据架构而是信息架构。如果我们基于“DIKW模型”,在理解了“数据-信息-知识-智慧”的基础之上,其实更容易理解华为的信息架构。

在笔者看来,华为信息架构是对数据架构的进一步提炼,是在数据管理实践的视角给出的定义。如果说,其他两套体系的数据架构偏理论和技术,那华为给出的信息架构则偏实践和业务,但其基础的内容仍然没变,还是数据模型和数据分布。

在企业的数据项目实践中,数据架构连接了企业的数据管理现状和未来要实现的目标,笔者认为不必纠结哪套体系的数据架构理论更严谨、逻辑更合理,而要将重点放在数据目标的实现上,“能抓住老鼠的那只猫就是好猫!”

来源:谈数据内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯