专栏首页数据猿数据模型:数字化转型的核心能力

数据模型:数字化转型的核心能力

什么是数据模型

我们可以先看一下生活中的模型的例子,房屋平面图、地图等都是很好的模型的示例。

对于下图的房屋平面图来说,我们基本看一眼就能知道这是一个三室两厅两卫的房子,有一个玄关和一个阳台,哪里是门,哪里是墙,哪里是窗户,每个房间的平米数是多少,全部都用各种符号表示得一清二楚。

对于地图来说,我们也知道绿色的部分一般都表示公园,蓝色的部分表示湖,黄色的粗线表示高速公路…

图 1生活中的“模型”(图片来源与网络)

数据模型是用于描绘、沟通数据需求的一组简单易懂、标准的,并且便于计算机实现标准符号的集合

我们都知道数据库很强大,但数据在其中的关系却错综复杂,成千上万个表通过各种关系或约 束互连以形成复杂的结构。没有数据模型,利益相关者很难看到现有数据库的结构、理解关键概念,当需要描述数据需求的时候,也很难准确地表达出来,这也是数据模型很重要的一个最主要的原因。

下图是一个简单数据模型的示例:

图 2一个关于学生-出勤-课程的数据模型

(图片来源:数据建模经典教程,Steve Hoberman)

数据模型的几个关键形容词

1

数据模型是一组符号集合

与实物模型不同,数据模型不是等比例模拟出来的真实事物,而是一组能表示数据需求、数据结构的符号集合

在房屋平面图中,中间有条线的矩形表示窗户,用直角扇形表示门。在数据模型中,用矩形框或圆角矩形表示实体,用线以及线上的符号表示实体之间的关系、基数或约束,用写在线上的词或词组表示标签,所有的这些符号组成了各种各样的数据模型

2

数据模型是用来描绘、沟通数据需求的

建筑设计师在盖房之前通过房屋平面图描绘建筑需求,建筑工人就可以看着这些平面图来盖房子。房子盖完之后还可以把房屋平面图展示给客户,这样即使客户不去现场看实体房就可以大概了解房屋结构。数据模型也是专门设计出来描绘数据需求,给技术实现人员来建造数据库,并且实现数据需求无障碍沟通的“图纸”。

3

数据模型是简单易懂、标准的

模型之所以可以让人们实现快速沟通,是因为足够标准并且简单易懂。自古以来,无论是盖房子还是造火箭,都不可能事先把庞大复杂的实物拿过来给大家介绍,相反只需要通过一些简单标准的符号,就可以表示清楚具体的意思。一旦读者看到标准的模型语言,他们能马上能开始讨论这个模型是否准确,而不需要浪费任何额外的时间去探讨建模用的符号是什么意思

4

数据模型是便于计算机实现的

数据模型从一个抽象层次描述了数据的静态特征、动态行为和约束条件,最终是要通过技术实现人员转化成能被计算机理解的程序语言,并且在数据库中实现出来的。所以在设计数据模型的时候,必须将便于计算机实现作为模型设计的原则之一。

为什么需要数据模型

企业中经常会出现以下问题:

1. 不同技术背景和业务经验的各类人员在讨论数据需求时缺少一种有效的沟通工具,在讨论中经常因为对各种符号理解不一致,导致沟通效率低下,不同观点之间很难协调,达成共识。 2. 当系统出现故障或发现数据问题时,没有可以观察系统的整体视角,技术人员对当前数据库内的状况全然不知,导致系统问题排查困难,数据问题无从下手。 3. 不同部门对业务规则的理解不一致,关于“客户”、“产品”等关键概念含义多种多样,数据库中同名不同义,同义不同名现象随处可见,极大地影响了数据的识别和应用。 4. ......

数据模型作为不同技术背景和业务经验的各类人员有效沟通数据需求的重要媒介,可以帮助描述与沟通数据需求、增加数据的精确性与易用性、降低系统的维护成本并增加数据可重用性,极大地减少了以上问题出现的频率。

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

本文分享自微信公众号 - 数据猿(datayuancn)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据中台盛行,DataOps兴起,数据架构才是未来

    “在数字化转型的浪潮下,数据架构备受关注。作为企业架构中的关键纽带,数据架构解决了业务与数据的映射,规范了应用架构的数据集成关系,指导了技术架构的技术选型。伴随...

    数据猿
  • 人工智能时代来临,看未来的司法如何运行?

    11月10日,由上海大数据联盟、数据猿主办,上海科睿联合主办的《构建智慧法院,促进司法职能—魔方大数据》在上海超级计算中心举行。本期魔方大数据邀请了法院代表和技...

    数据猿
  • 突破与升维,技术赋能下的新时代企业营销攻略

    今日头条丨一点资讯丨腾讯丨搜狐丨网易丨凤凰丨阿里UC大鱼丨新浪微博丨新浪看点丨百度百家丨博客中国丨趣头条丨腾讯云·云+社区

    数据猿
  • 【数据架构】概念数据模型和逻辑数据模型有什么区别

    概念数据模型和逻辑数据模型的主要区别在于,概念数据模型表示实体及其关系,而逻辑数据模型除了提供实体和关系之外,还提供了更多的细节,包括属性、主键和外键。

    首席架构师智库
  • 数据模型与查询语言 ------《Designing Data-Intensive Applications》读书笔记2

    作为一个开发者来说,在一个复杂的应用程序中,是存在很多分层模型的,但基本思想还是一样的:每一层都提供了一个干净的数据模型,从而隐藏了底层的复杂性。通过这样的抽象...

    HappenLee
  • 牛客网 复杂链表的复制

    输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中...

  • ARM公司发起的OTrP是什么?

    ARM说设备中必须有root of trust,否则一切都不可靠! ? 面对日益严峻的安全问题,可信执行环境TEE系统已经被越来越多的使用。在一个TEE生态系统...

    安智客
  • 喜讯!腾讯多个智慧文旅案例入选2020年文化和旅游信息化发展典型案例

    ? 近年来,5G、大数据、区块链、人工智能等信息技术与各行各业的融合发展成为时代新趋势,文旅产业表现亮眼,出现了云旅游、云直播、云看展等新业态,尤其在疫情期间...

    腾讯文旅
  • 使用 Docker 全自动构建 Java 应用

    我们会在 Docker 容器里运行 Jenkins,再使用 Jenkins 启动一个 Maven 容器,用来编译我们的代码,接着在另一个 Maven 容器中运行...

    LinuxSuRen
  • 成熟的目标检测,也该自己学习数据增强策略达到SOTA了

    2018 年,谷歌大脑的研究者在 arXiv 上发表论文,提出一种自动搜索合适数据增强策略的方法 AutoAugment。该方法创建一个数据增强策略的搜索空间,...

    机器之心

扫码关注云+社区

领取腾讯云代金券