大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人。在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知识。
数据治理需要进行系统的学习才能真正掌握,也需要进行专业的考试认证才能证明自己在数据治理方面的学习能力和知识掌握情况。如果对数据治理和数据治理认证CDMP有疑问的话,可以参考我之前的文章,有详细的介绍。
5000字详解数据治理如何入门(附国际数据治理认证考试-CDMP学习群)
正文共:6099字 10图
预计阅读时间:16分钟
本文档基于数据治理相关学习资料整理,为数据治理专业认证CDMP的学习笔记(思维导图与知识点)整理。
文章较长,建议收藏后阅读。
后续的文档请关注公众号 大数据流动,会持续的更新~
本文档为数据建模与设计部分笔记,思维导图与知识点整理。共分为6个部分,由于页面显示原因,部分层级未能全部展开。结构如下图所示。
一、数据模型和数据建模
数据建模的定义:发现、分析和确定数据需求的过程,用一种称为数据模型的精确形式表示和传递这些数据需求。过程是循环迭代的,可能包括概念、逻辑和物理模型。
数据模型有助于组织能够理解其资产。
常见 6 种数据模型:1、关系模式。2、多维模式。3、面向对象模式。4、事实模式。5、时间序列模式。6、NoSQL 模式。根据描述详细程度不同,可分为:概念模型。逻辑模型。物理模型。
数据建模与设计的语义关系图如下:
业务驱动因素:1)提供有关数据的通用词汇表。2)获取、记录组织内数据和系统的详细信息。 3)在项目中作为主要的交流沟通工具。4)提供了应用定制、整合,甚至替换的起点。
数据模型是元数据的一种重要形式。
数据建模和设计的目标:确认并记录不同视角对数据需求的理解,确保应用程序更符合当前和未来的业务需求,为更多数据应用或数据管理奠定基础,例如主数据管理和数据治理项目。
数据建模和设计的作用,确认并记录不同视角对数据需求的理解有助于: 1、格式化,规范数据的结构。2、范围定义,明确边界。3、知识保留记录。信息留存。
数据建模和设计活动:1 规划数据建模。2 建立数据模型(创建概念、逻辑、物理模型)。3 审核数据模型。4 维护数据模型。
输入:现有的数据模型和数据库。数据标准。数据集。初始数据需求。原始数据需求。数据架构。 企业分类法。交付成果:概念、逻辑、物理数据模型。
方法:命名规范。数据库设计规范。数据库类型选择。
工具:数据建模工具。数据血缘工具。数据分析工具。元数据资料库(存储数据模型的描述性信 息)。数据模型模式(基本模式。套件模式。整合模式)。行业数据模型。
度量指标:数据模型校验指标。
为方便理解,整理本部分思维导图如下:
二、基本概念
1、建模的数据类型
建模的数据类型:
1 类别信息,对事物分类或分配事物类型的数据,如颜色、型号。
2 资源信息,实施操作流程所需的基本数据,如产品、客户。资源实体有时被称为参考数据。
3 业务事件信息,在操作过程中创建的数据,如客户订单。
4 详细交易信息,通过销售系统、传感器生成,用于分析趋势,大数据。此 4 类为静态数据,部分动态数据也可建模,如系统的方案。
2、数据模型组件
数据模型组件:实体、关系、属性、域。
【实体】
实体 Entity:有别于其他事物的一个事物。
描述谁、什么、何时、何地地、为什么、怎么办、度量。
实体别名因模型类型不同而不同。关系模型用“实体”,维度模型用“维度”和“事实表”,面向对象类型使用“类”或“对象”;基本时间模型用“中心”、“卫星”、“链接”,关系型使 用“文件”、“节点”。实体别名在概念模型中称“概念”、“术语”。逻辑模型中称为“实体”。 物理模型中称为“表”。实体的定义属于核心元数据。
一般用矩形代表,矩形中间是实体名称实体与实体实例:实体实例是特定实体的具体化或取值。
高质量的数据定义具有清晰、准确、完整 三个特征。
【关系】
关系(Relationship)是实体之间的关联。关系捕获概念实体之间的高级别交互、逻辑实体之间的详细交互、物理实体之间的约束。关系在维度模型中使用“导航路径”,在 NoSQL 中使用“边界”、“链接”。在概念和逻辑级别上用“关系”,在物理上使用“约束“、”引用“。关系在数据建模图上表现为线条。
关系的基数:表明一个实体与其他实体参与建立关系的数量。有“0、1、多”。
关系的元数:关系中涉及实体的数目。有一元关系、二元关系、三元关系。一元关系:递归关系、 自我引用关系。一对多:层级关系。多对多:网络关系或图表。二元关系:涉及两个实体的关系。三元关系:涉及三个实体的关系。
外键 Foreign Key:在物理模型建模中表示关系,在数据库中建立外键来定义关系。
【属性】
属性 Attribute:定义、描述或度量实体某个方面的性质。属性可能包含域。属性在图中是在实体矩形内用列表描述。实体中属性的物理展现为表、视图、文档、图形或文件中的列、字段、标记或节点等。
标识符 Identifiers,键,是唯一标识实体实例的一个或多个属性的集合。可按键结构分为单一键、 组合键、复合键、代理键,按功能分为候选键、主键、备用键。
键的结构类型:单一键:唯一标识实体实例的一个属性。代理键:也是单一键,表的唯一标识符, 通常是一个计数符,由系统自动生成,一个整数,含义与数值无关,技术性,不应对用户可见。 组合键:一组由两个或多个属性组成的集合,一起达到唯一标识一个实体实例。复合键:包含一 个组织键和至少一个其他单一键、组合键或非键属性。
键的功能类型:超键:唯一标识实体实例的任何属性集。候选键:标识实体实例的最小属性集合, 可能包含一个或多个属性。最小意味着候选键的任意子集都无法唯一标识实体实例。一个实体可 以有多个候选键。候选键可以是业务键(自然键)。业务键:业务专业人员用于检索 单个实体 实例的一个或多个属性。业务键和代理键是互斥关系。主键:被选择为实体唯一标识符的候选键。 备用键:是一个候选键,虽唯一,但没有被选为主键,可用于查找特定实体实例。
独立实体:其主键仅包含只属于该实体的属性,用矩形符号表示。非独立实体是指其主键于少包 含一个其它实体的属性,至少含有一个标识关系用圆角矩形表示。
【域】
域 Domain:某一属性可被赋予的全部可能取值。提供一种将属性特征标准化的方法。有效值与 无效值。可以附加的规则对域进行限制,限制规则称为约束。
域可以使用多种不同的方式定义, 如 1.数据类型(Data Type) 2.数据格式(Data Format) 3.列表(List) 4.范围(Range) 5.基于规则 (Rule-Based)。
3、数据建模的方法
常见的 6 种数据建模方法是关系建模、维度建模、面向对象建模、基于事实建模、基于时间建模 和非关系型建模。每种建模方法都采用一些特定的表示法进行表达。
【关系建模】
关系模型设计的目的是精确的表达业务数据,消除冗余。常见是信息工程法,采用三叉线(鸭掌模型)来表示基数。
【维度建模】
维度建模为了优化海量数据的查询和分析。使用轴表示法 Axis Notation 来建模。此模型中实体之间的连线表示用于说明业务问题的导航路径。
事实表:行对应于特定的数值型度量值,如金额。事实表占据了数据中大部分空间,且有大量的 行。
维度表:表示业务的重要对象,主要留住文字描述。维度是事实表的入口点或链接。充当查询或 报表约束的主要来源。高度反范式的,占总数的 10%左右。各个维度在每一行都有一个唯一的标识符,主要是代理键和自然键。维度也有些属性。渐变类的维度根据变化的速率和类型来管理变 化,主要变化有覆盖、新行、新列。
雪花模型 Snowflaking:将星型模型中的平面、单表、维度结构规范为相应的组件层次结构或网 络结构。
粒度:事实表中单行数据的含义或描述,是每行都有的最详细信息。关键步骤之一。
一致性维度:基于整个组织,这些维度在不同模型中可以共享。
一致性事实:使用跨多个数据集市的标准化术语。
【UML】
UML:统一建模语言,一种图形风格的建模语言。
UML规定了类(实体类型)和它们之间的关系。
【基于事实的建模】
基于事实的建模,FBM.是一种概念建模语言。
包括:1、对象角色建模。2、完全面向通信的建模。
【基于时间的数据模型】
数据值必须按时间顺序与特定时间值相关联时,采用基于时间的建模。
数据拱顶:中心表/链接表/卫星表。专门为了满足企业数据仓库的需求而设计。
锚建模:适合信息结构和内容随时间发生变化的情况。提供用于概念建模的图形语言,能扩展处理临时数据。它有锚、属性、连接、节点四个基本建模概念。锚模拟的是实体和事件。属性模拟了锚的特征。连接表示了锚之间的关系。节点模拟共享的属性。
【非关系型建模】
非关系型数据库:文档数据库。键值数据库。列数据库。图数据库。
4、数据模型的级别
数据模型级别:1 概念模型。2 外模式。3 内模式。
这三个层次是在概念层次,逻辑层次,物理层次上的细节展现。
【概念数据模型-CDM】
一系列相关主题域的集合来描述概要数据需求。
【逻辑数据模型-LDM】
对数据需求的详细描述。
【物理数据模型-PDM】
详细的技术解决方案。以逻辑模型为基础,与某一硬件软件,网络工具相匹配。
物理数据模型需要明确:
1、规范模型。
2、视图。
3、分区。(水平分割,垂直分割)
4、逆规划化。
逆规范化:①提前组合来自多个其他表的数据,以避免代价高昂的运行时连接。
②创建更小的、预先过滤的数据副本,以减少昂贵的运行时计算和/或大型表的扫描。
③预先计算和存储昂贵的数据计算结果,以避免运行时系统资源竞争。
5、规范化
规范化(Normalization)是运用规则将复杂的业务转化为规范的数据结构的过程。
范式化的基本目标是保证每个属性只在一个位置出现,以消除冗余或冗余导致的不一致性。
第一范式 1NF:每个实体都有一个有效的主键,每个属性都依赖于主键。
第二范式 2NF:每个实体都有最小的主键,每个属性都依赖于完整的主键。
第三范式 3NF:每一实体都没有隐藏的主键,属性都不依赖于键值外的任何属性(仅依赖于完整的主键)。模型的规范化通常要求达到第三范式。
Boyce/Codd 范式(BCNF):解决交叉的复合候选键问题。候选键是主键或备用键。
第四范式 4NF:将所有三元关系分解为二元关系,直到这些关系不可再分。
第五范式 5NF:将实体内部的依赖关系分解为二元关系,所有联结依赖部分主键。
6、抽象化
抽象化是将细节移除,提高扩展适用性的过程,包括:泛化和特化。
泛化是抽象出父类,特化是区分属性找到子类。
为方便理解,整理本部分思维导图如下:
三、活动
1、规划数据建模
规划数据建模的交付物:1.图表。2.定义。3.争议和悬而未决的问题。4.血缘关系:来源/目标映射形式呈现。
2、建立数据模型
【正向工程】
从需求开始构建 新应用程序 的过程。概念——逻辑——物理。
概念数据模型建模:1 选择模型类型。2 选择表示方法。3 完成初始概念模型。4 收集组织中最高 级的概念。5 收集与这些概念有关的活动。6 合并企业术语。7 获取签署。
逻辑数据模型建模:1 分析信息需求。2 分析现有文档。3 添加关联实体。4 添加属性。5 指定域。 6 指定键。
物理数据模型建模:1.解决逻辑抽象【子类型吸收。超类型分区。】2.添加属性细节 3.添加参考 数据对象 4.指定代理键 5.逆规范化 6.建立索引 7.分区 8.创建视图。
【逆向工程】
记录现有数据库的过程,大多数建模工具都支持各种数据库的逆向工程。
3、审核数据模型
价值实现时间。支持成本。数据模型质量验证器(数据模型记分卡)。评估正确性、完整性、一致性。
4、维护数据模型
维护数据模型:数据模型需要保持最新状态。
为方便理解,整理本部分思维导图如下:
四、工具和方法
【工具】
1、数据建模工具
2、数据血缘工具
3、数据分析工具
4、元数据资料库
5、数据模型模式
6、行业数据模型
【方法】
1、命名约定的最佳实践
2、数据库设计中的最佳实践
数据库设计中的最佳实践-PRISM 设计原则:1 性能和易用性。2 可重用性。3 完整性。4 安全性。 5 可维护性。
为方便理解,整理本部分思维导图如下:
五、数据建模和设计治理
1、数据建模和设计质量管理
【开发数据建模和设计标准】
1.标准数据建模和数据库设计可交付成 果的列表和描述。
2.适用于所有数据模型对象的标准名称、 可接受的缩写和非常用单词的缩写规则列表。
3.所有数据模型对象的标准命名格式列表,包括属性和分类词。
4.用于创建和维护这些可交付成果的标 准方法的列表和说明。
5.数据建模和数据库设计角色和职责的 列表和描述。
6.数据建模和数据库设计中捕获的所有 元数据属性的列表和描述,包括业务元数据和技术元数据
7.元数据质量期望和要求。
8.如何使用数据建模工具的指南。
9.准备和领导设计评审的指南。
10.数据模型版本控制指南。
11.禁止或需要避免的事项列表。
【评审数据模型及数据库设计质量】
【管理数据模型版本与集成】
Why。为什么项目或情况需要变更。
What。变更对象以及如何更改。
When。变更批准的时间。
Who。谁做出变更。
Where。进行变更的位置。
2、度量指标
度量指标:
1.模型多大程度上反映了业务需求?
2.模型的完整性如何?(需求完整性。元数据完 整性)
3.模型与模式的匹配度是多少?
4.模型的结构如何?
5.模型的通用性如何?
6.模型遵循命名标准的情况如何?
7.模型的可读性如何?
8.模型的定义如何?(清晰/完整/准确)
9.模型与企业 数据架构的一致性如何?
10.与元数据的匹配程度如何
为方便理解,整理本部分思维导图如下:
未完待续~