【数据架构】数据模式/纲要(data schema)和数据结构(data structure)
在讨论了数据架构和数据结构之后,接下来的问题是数据架构和数据结构之间的区别是什么?数据模式、数据结构和数据模型是如何正式命名的?
多年来,人们曾多次尝试正式命名特定的数据结构以及包含这些数据结构的数据模型。这些名字大多以某种方式与信息系统的Zachman框架相关。然而,在命名数据结构的类型、数据结构覆盖的主题区域和包含数据结构的数据模型之间产生了混淆。其结果是一系列混乱的数据结构和数据模型名称,它们构成了一个完全不同的数据资源。
一种更好的方法是正式命名每个数据模式(数据纲要),根据数据模式名称和主题区域正式命名数据结构,然后根据数据模型中包含的数据结构正式命名数据模型。
模式是一种图表表示;一个结构化的框架或计划;大纲。数据模式是数据结构的图表表示。数据模式只不过是一种数据结构。数据结构是组织数据资源中数据的排列、关系和内容的表示。它与正式的数据名称、全面的数据定义和精确的数据完整性规则直接相关,必须加以记录。数据结构是组织的数据资源中用于特定目的的特定数据模式的表现形式。
随着数据库在20世纪中期出现,数据库专业人员确定了两种数据模式。内部数据模式表示数据存储在数据库中的方式,外部数据模式表示数据被数据库外部的应用程序使用的方式。注意名称朝向物理数据库。
由于内部数据模式和外部数据模式往往有很大的不同,并且可以为相对较少的内部数据模式开发多个外部数据模式,因此第三个概念数据模式被定义为内部数据模式和外部数据模式之间的公分母。这个术语已经被使用、误用和滥用到现在还不清楚概念数据模式到底代表什么。
为了给这三种数据模式带来更多的含义和理解,内部数据模式被重命名为物理数据模式,外部数据模式被重命名为业务数据模式,概念数据模式被重命名为逻辑数据模式。这些更有意义的名称还建立了业务到逻辑到物理数据模式开发的顺序,在所有正式的数据资源设计中都应该遵循这个顺序。
随着越来越多的业务专业人员开始参与数据资源设计并开始使用数据规范化技术,出现了许多关于哪些数据实际上正在被规范化(normalization)的问题。传统的数据规范化技术和数学方法并没有为业务专业人员提供足够的理解。这些问题的答案是业务数据模式正被规范化为逻辑数据模式。
然而,业务数据模式的数据规范化并不容易或直接导致逻辑数据模式的开发,因为数据规范化本质上是将数据分开的。没有正式的技术可以将类似的数据放在一起,例如所有员工数据放在一起,所有学生数据放在一起,等等。缺乏正式的技术是当今许多公共和私营部门组织中出现的巨大数据差距的开始。
通过添加数据视图模式(这是数据规范化的结果)解决了该问题。然后根据需要组合各个数据视图模式,以确保将类似的数据(如employee、student等)分组在一起。数据优化过程的目的是防止正在开发的许多不同的数据。结果的顺序是业务数据模式规范化为数据视图模式,然后优化为逻辑数据模式,最后再非规范化为物理数据模式。
在分布式数据处理出现之前,这四个模式序列一直工作得很好,这导致了对数据如何分布和非规范化的混淆。通过在逻辑数据模式和物理数据模式之间添加部署数据模式,解决了这种混淆。逻辑数据模式通过一个称为数据去优化的过程部署到部署数据模式。
结果的顺序是业务数据模式,规范化为数据视图模式,优化为逻辑数据模式,非优化为部署数据模式,非规范化为物理数据模式,如下图所示。这是目前在正式数据资源设计中使用或应该使用的五种基本数据模式。
这五种基本数据模式对于组织数据资源的详细设计非常有效。然而,关于概念数据模式的含义和使用的词汇挑战仍然存在。概念数据模式可以是业务模式、业务模式的泛化、逻辑模式的泛化、任何以强力物理数据库开发为借口的东西等等。由于数据管理开始转向业务,概念数据模式没有什么意义,因此需要定义一个对业务专业人员有意义的术语。
通过定义战略数据模式和战术数据模式,解决了这一问题。这些术语对业务专业人员非常有意义,因为他们很容易理解战略和战术活动。简单地说,战略数据模式表示执行级透视图,战术数据模式表示管理级透视图。
战略和战术数据模式本质上是逻辑性的,并且基于组织对其运行所在的业务世界的感知。它们被放置在逻辑数据模式上,如下图所示。战略数据模式可以更详细地开发以生成战术数据模式,而战术数据模式可以更详细地开发以在称为数据模式专门化的过程中生成逻辑数据模式。类似地,逻辑数据模式可以推广到战术数据模式,在一个称为数据模式推广的过程中,战术数据模式可以推广到战略数据模式。
该图显示了数据模式的两个主要部分。一般数据模式包括战略和战术数据模式,它们本质上是一般的。详细的数据模式包括业务、数据视图、逻辑、部署和物理数据模式,这些模式在本质上是详细的。完整的排列被称为三层五模式概念。
问题总是出现在是否应该有八个更通用的数据模式来表示业务、数据视图、部署和战术和战略级别的物理数据模式。答案是,它们可能毫无意义,或者不如形式数据模式有用。业务数据模式的任何泛化都将与业务主题区域或业务功能相关。物理数据模式的任何泛化都与硬件和系统软件管理有关,例如数据文件或数据库的集群。数据视图架构和部署数据架构的泛化没有意义。因此,这些数据模式没有定义或开发。
上面已经正式命名和定义了五个详细的和两个通用的数据模式。这七个正式的数据模式名称可以加上主题区域的前缀,以提供正式的数据结构名称,如设施战略数据结构、车辆战术数据结构、人力资源业务数据结构、员工逻辑数据结构、学生物理数据结构等。使用这些正式的数据结构名称有助于业务专业人员和数据管理专业人员正确地设计、开发和管理组织的数据资源。
数据模型不仅仅是数据结构。数据模型必须包括正式的数据名称、全面的数据定义和精确的数据完整性规则。当数据结构与其他三个组件组合时,生成的数据模型将使用相同的命名约定进行正式命名。例如,相应的数据模型名称将是设施战略模型、车辆战术数据模型、人力资源业务数据模型、员工逻辑数据模型和学生物理数据模型。请注意,尽管战略和战术数据模型的细节较少,但它们仍然包含数据名称、数据定义和数据完整性规则组件。
数据管理专业人员如果希望正确设计、开发和管理组织的数据资源,就必须正式命名数据模式、数据结构和完整的数据模型。它们必须在单个组织范围的数据体系结构中开发正式的数据结构和数据模型名称。他们必须使用正式的流程来规范化、优化、去优化和去规范化数据。它们必须使用形式化过程来进行数据模式泛化和数据模式专门化。否则会导致混乱、数据差异增大以及数据资源不足以支持组织的业务信息需求。
原文:https://www.dataversity.net/data-schemas-and-data-structures-1/
本文:http://jiagoushi.pro/node/1019
讨论:请加入知识星球或者微信圈子【首席架构师圈】
- 107 次浏览