导读:业界数字化转型已经进入深水区,数据越来越受到大家重视,由于数据中台等等概念的兴起,大家越来越回到数据的根本问题“数据模型”。今天不谈论高大上的数据中台,我想回到数据的本源,谈谈接地气的数据模型。
一、 什么是数据模型?
我们可以先看一下生活中的模型的例子,房屋平面图、地图等都是很好的模型的示例。对于下图的房屋平面图来说,我们基本看一眼就能知道这是一个三室两厅两卫的房子,有一个玄关和一个阳台,哪里是门,哪里是墙,哪里是窗户,每个房间的平米数是多少,全部都用各种符号表示得一清二楚。对于地图来说,我们也知道绿色的部分一般都表示公园,蓝色的部分表示湖,黄色的粗线表示高速公路…
数据模型是用于描绘、沟通数据需求的一组简单的、容易被人理解的,并且便于计算机实现的标准符号的集合。
我们都知道数据库很强大,但数据在其中的关系却错综复杂,成千上万个表通过各种关系或约束互连以形成复杂的结构。没有数据模型,利益相关者很难看到现有数据库的结构、理解关键概念,当需要描述数据需求的时候,也很难准确地表达出来,这也是数据模型很重要的一个最主要的原因。下图是一个简单数据模型的示例:
二、 数据模型的几个关键形容词
a. 数据模型是一组符号集合
与实物模型不同,数据模型不是等比例模拟出来的真实事物,而是一组能表示数据需求、数据结构的符号集合。在房屋平面图中,中间有条线的矩形表示窗户,用直角扇形表示门。在数据模型中,用矩形框或圆角矩形表示实体,用线以及线上的符号表示实体之间的关系、基数或约束,用写在线上的词或词组表示标签,所有的这些符号组成了各种各样的数据模型。
b. 数据模型是用来描绘、沟通数据需求的
建筑设计师在盖房之前通过房屋平面图描绘建筑需求,建筑工人就可以看着这些平面图来盖房子。房子盖完之后还可以把房屋平面图展示给客户,这样即使客户不去现场看实体房就可以大概了解房屋结构。数据模型也是专门设计出来描绘数据需求,给技术实现人员来建造数据库,并且实现数据需求无障碍沟通的“图纸”。
c. 数据模型是简单易懂、标准的
模型之所以可以让人们实现快速沟通,是因为足够标准并且简单易懂。自古以来,无论是盖房子还是造火箭,都不可能事先把庞大复杂的实物拿过来给大家介绍,相反只需要通过一些简单标准的符号,就可以表示清楚具体的意思。一旦读者看到标准的模型语言,他们能马上能开始讨论这个模型是否准确,而不需要浪费任何额外的时间去探讨建模用的符号是什么意思。
d. 数据模型是便于计算机实现的
数据模型从一个抽象层次描述了数据的静态特征、动态行为和约束条件,最终是要通过技术实现人员转化成能被计算机理解的程序语言,并且在数据库中实现出来的。所以在设计数据模型的时候,必须将便于计算机实现作为模型设计的原则之一。
三、 为什么需要数据模型?
企业中经常会出现以下问题:
u 不同技术背景和业务经验的各类人员在讨论数据需求时缺少一种有效的沟通工具,在讨论中经常因为对各种符号理解不一致,导致沟通效率低下,不同观点之间很难协调,达成共识。
u 当系统出现故障或发现数据问题时,没有可以观察系统的整体视角,技术人员对当前数据库内的状况全然不知,导致系统问题排查困难,数据问题无从下手。
u 不同部门对业务规则的理解不一致,关于“客户”、“产品”等关键概念含义多种多样,数据库中同名不同义,同义不同名现象随处可见,极大地影响了数据的识别和应用。
u ……
数据模型作为不同技术背景和业务经验的各类人员有效沟通数据需求的重要媒介,可以帮助描述与沟通数据需求、增加数据的精确性与易用性、降低系统的维护成本并增加数据可重用性,极大地减少了以上问题出现的频率。
1、数据模型可以帮助不同人员描述与沟通数据需求
在企业中,来自不同部门、具有不同技术背景的业务人员、业务分析师、数据分析师、建模人员、架构师、数据库设计人员、开发人员等各类人员经常需要共同讨论数据问题与数据需求,数据模型作为一种理想的沟通工具,可以快速使相关人员达成共识,跳过对符号的理解而直接讨论深层需求。
2、数据模型可以增加数据的精确性与易用性
数据模型中的精确定义为数据提供了一个规范的结构,数据建模过程本身是发现、分析、界定数据需求的过程,可以帮助解释数据上下文的边界,减少数据访问和数据存储时发生数据异常的可能性。通过说明数据中的结构和关系,数据模型使数据更易于使用。
3、数据模型可以降低系统维护成本、提升资产可重用性
数据模型有助于我们从整体视角了解业务与数据现状,并有助于人们分析目前可能存在的业务与数据问题、分析修改现有数据结构是否可行和每次修改可能会带来的影响,降低维护成本。另外,数据模型以相对标准精确的形式保留了关于企业系统或项目的记忆,这些记忆可以作为可重用性资产供未来项目使用,从而降低构建新应用程序的成本。
四、 总结
作为不同技术背景与业务经验的各类人员有效沟通数据需求的重要媒介,数据模型越来越成为数字化转型的核心能力。数据模型有助于人们描述与沟通数据需求、增加数据的精确性与易用性、降低系统的维护成本并增加可重用性。
五、 参考
[1]DAMA International.DAMA-DMBOK: Data Management Body of Knowledge (2nd Edition)[M].Technics Publications:BASKING RIDGE, NEW JERSEY,2017:123.
[2]Steve Hoberman.Data Modeling Made Simple: A Practical Guide for Business and IT Professionals[M].Technics Publications:BASKING RIDGE, NEW JERSEY,2009