新闻资讯

如何规范化数据库模型设计

良好的数据库模型设计可以保证数据资产的持久性、可读性、有效性和完整性。应该从哪些方面规范数据模型,提高数据库设计的质量呢? 根据SteveHoberman的《Data Model Scorecard》,主要有以下几个方面:

1、模型正确性(模型是否清晰表达了业务逻辑)How well does the model capture the requirements

由于需求调研不完备,需求理解不充分,项目前期缺乏足够的沟通,以及数据调研准备不足、后期测试不充分等原因。数据模型(尤其是逻辑模型)与实际业务逻辑脱节,在后期使用数据时,需要在数仓或数据中台的数据架构上进行大幅调整。这是为什么标杆企业在企业级数据模型上投入很大。

2、模型完整度 How complete is the model?

元数据定义和描述不完整,例如字段constraints限制,参照完整性的定义,是否为空。某个字段的default值,是否有设置。另外就是表的描述,字段含义的描述等信息,是否提供。你很难想象下游数据开发和数据应用去理解一个完全没有表定义,字段含义定义有多痛苦。

3、模型的命名标准遵从度 How well does the model follow naming standards?

表/字段的命名词素必须易于理解的,经典的做法是将企业常用的业务术语及其缩写放在命名词典中(Naming Standard),表/字段的命名必须由命名词典的词素组合而成。很多系统用汉语拼音命名的都比比皆是,下游数据开发和数据应用常常要花80%的时间在翻数据、猜数据、理解和定位可信数据上。DatablauDDM数据建模工具内置4000多条行业通用命名词典。

数据模型.jpg

4、模型的可读性How well has the model been arranged for readability?

有的团队直接用DDL脚本管理数据字典,也有用Excel、Word管理,基本没有可读性,也无法管理。有ER图的,定义也基本为空的,这种例子比比皆是。另一方面模型管理工具不一致,从PowerDesigner、ERWin,没有统一集中的数据模型库,数据字典散落在各个团队,建模工具也没有版权,存在一定法律风险。

5、模型里中文名、业务定义的质量 How good are the definitions?

很多项目数据模型和实际数据库schema就是俩东西,字段的含义、表的含义基本靠猜,如果命名规范也没有,那更是猜无可猜。所以,表、字段的中文名称,业务定义是必须有的。

6、模型的元数据准确性,元数据与实际数据是否匹配 How well does the metadata match the data?

例如,最开始某表/某字段具备一种含义,而开发过程中发现用这表/字段还能干点别的类似的事,然后为了程序不修改,表名和字段名也不改了,直接应用。再例如,原来的表是客户,起名叫CUSTOMER, 里面记录CUSTOMER ID、Name、地址、电话等等,然后发现有的时候,我们的供应商需要的字段差不多,本来应该建个表叫VENDOR,结果为了图省事直接用CUSTOMER表,并且模型里面也不加解释。

7、智能搜索能力提升(Data Catalog Intelligent Search)?

企业存在大量存量系统,但却无法知道系统的表/字段与企业级数据模型与标准的映射关系。后面有机会做数据标准化改造,也无法定位和评估。 

低质量数据模型的后果

由于企业缺乏对数据模型的管控,造成整个企业都是各个项目有各个项目的标准,但缺乏企业级的标准,这也是数据质量问题最主要的根源。低质量的数据模型会给企业带来哪些影响呢?

1、大量修改和重构:尤其是我们提到的没有准确捕获到需求的这种错误。

2、重复建设:由于低质量的数据模型,造成系统很难可持续的发展,当需要添加新功能时,很难在原有系统基础上添加,只能重做。

3、知识丢失:模型文档不完备,比如前面提到的缺乏定义之类的问题。这些知识都当时封存在DataModeler的脑子里,有个经典的段子:三个月之内只有我知道,三个月之后只有上帝知道。而数据仓库项目又经常是经年累月的长期的过程,项目里面的人来的来走的走,知识没法传承。

4、模型难以理解,下游开发困难:假设你弄一套千八百张表的数据库,然后还不给说明书,你让下游的Data Mart的设计者,报表等应用的设计者怎么进行开发?

5、高成本:上面说的这些,都会带来高成本,包括项目周期的延长、人员的培训、开发的周期、错误的增加等等。

6、数据质量低下:比如你数据仓库这一层模型做的质量低下,你就很难保证下游的DataMart会正确的使用。也就难保证基于其的报表的数据是正确的。

7、新业务无法展开:比如你新建一个数据应用,基于主数据的,而主数据的数据质量一塌糊涂,是不是这个新应用就没法做起来。

Datablau DDM模型设计工具内置数据模型设计规范 

数据模型.jpg


实时检查和提示不规范的数据模型设计

数据模型.jpg


关于Datablau

Datablau创建于2016年,核心创始和研发团队全部来自于原CA erwin,天然具有世界级产品厂商的血缘和水准,是国内数据治理的第一品牌。依托多年的行业积累和技术沉淀,Datablau在产品设计层面充分发挥了后天优势,实现了集数据建模、数据目录、数据质量和数据准备为一体的企业级数据治理平台,全面满足企业对于数据治理的客观需求。

目前Datablau在建设银行、华为、中信集团、嘉实基金、中国人寿、国电大渡河、四川航空等大型客户得到实际应用并深受好评,客户范围已经覆盖到银行、保险、制造业和能源行业等核心领域,Datablau已成为企业数据治理领域的领导厂商。

数据模型.jpg

推荐阅读 查看更多