数据建模:不仅仅是数据库设计

发布日期:
2024-03-26

浏览次数:

“数据模型的主要目的实际上不是设计数据库,而是描述业务,”

“数据模型本身不如数据模型所促进的数据沟通重要”

“数据建模是一门创造性的学科,也是一门描述性的学科”

“数据模型告诉了一个故事,这个故事是关于一群人如何聚集在一起使用数据来解决业务问题(或利用商机)。数据模型记录了从问题概念到问题解决的过程”

▌为什么数据建模很重要?

数据是比系统本身更持久的宝贵东西。数据是一种组织资产,要正确管理它,就需要了解它。数据模型提供了一个通用的术语词汇表,无论它们是概念(高级)级别的还是逻辑(详细)级别的,都提供了支持不同角色可共享的术语词汇表和共同的数据理解基础。

受众决定数据模型的建模模式

用于集成新系统的数据模型将以高度技术性的术语表现出精确的细节。面向业务利益相关者的同一项目的数据模型需要根据业务利益相关者的层次及参与的内容,按照不同建模模式支持不同角色可以访问不同级别的信息。比如,对于高层我们常常会用概念数据模型与之沟通,而对于项目中的业务专员我们需要依赖逻辑数据模型与他们沟通业务规则及信息细节。在数据建模的实施中,我们需要开始于更高级别的数据建模模式(如概念数据模型),逐步确认后开发更详细的数据模型,这样才能保障数据模型的最终实例化到系统数据库的数据符合业务价值流及企业整体数据策略,直接落库设计是最危险,很有可能在项目的中后期需要付出高昂的代价进行解决如数据不一致、BUG难予修补等问题。

▌数据建模常常会适合哪一部分数据管理工作?

在DAMA-DMBoK2数据管理框架(DAMA 轮)来说明数据建模在涉及数据管理的11个学科或知识领域中的位置。并将数据治理定位在中心,知识领域有:

数据建模与设计

数据架构

数据质量

元数据

数据仓库和商业智能

参考和主数据

文档和内容管理

数据集成和互操作性

数据安全

数据存储和操作

数据建模在所有数据管理学科中都可以发挥作用,并通过企业流程,利用概念和逻辑数据建模促进数据分析、数据库设计和实施。

业务(概念)数据模型的数据建模

数据建模有助于回答核心业务问题,例如:

1. 我们运营业务需要哪些数据?

这需要将支持业务模式的业务(概念)数据模型与到业务流程模型链接,并提供适当的治理、良好的描述以及对如何使用流程和数据的深刻理解。

2. 我们是否在数据的定义及含义达成一致意见?

企业中很多数据问题都是因为不同角色不同组织对基本概念的不同理解造成的,比如不同组织中是如何定义“客户”这一术语的。数据模型所用的术语词汇表应与业务利益相关者使用的术语一致。

3. 我们知道数据在哪里吗?

数据治理的管理规章制度要求了明确数据的存储位置。需要与术语词汇表保持一致的支持业务级别沟通的业务(概念)数据模型和对应的逻辑数据模型,通过物理数据模型的物理实例化将它们关联到系统的数据库中并保持一致的定义。必须将这些物理数据模型在技术的数据字典中记录和编目到数据目录上,数据字典应可以与术语词汇表实现交互,保持映射关系。

4. 是否分配了具有正确技能和流程的责任来管理它?

应将建模能力、技能和管理能力分配给正确的人员,并与业务利益相关者达成一致,按照业务数据主题领域来进行管理,保障数据使用的安全性。

5. 数据是否符合预订目标要求?

“适合目标”不仅仅是关于数据质量方面。它还涵盖安全性、法规遵从性质量、业务关键性、是否定义了关键数据元素等。

数据建模的作用比您想象的要多

数据模型可以用作与业务中不同领域和用于不同目的进行沟通的一种方式。它们还可用于帮助理解服务架构、基于消息的架构、虚拟化、数据血缘、主数据管理、商业智能等——所有这些都可以从建模中受益。我们都知道信息是所有架构科学的核心。虽然没有一个关于数据模型是什么的完整声明,但我们必须理解数据才能管理数据——而数据模型正是提供这种理解的最佳工具。