数据建模知多少

数据建模乍一听的时候感觉非常的有技术性,并且外行感觉非常的高大上,高深莫测。

在目前的时代下,数据量可以说是海量,并且还在持续增长,那么对于企业来说,如何快速的准确的从这些数据中获取自己想得到的信息呢?

2

什么是数据建模

数据建模简单来说就是基于对业务的理解,将各种数据进行整合和关联,并最终使得这些数据可用性,可读性增强,让使用方能快速的获取到自己关心的有价值的信息并且及时的作出响应,为公司带来效益。

3

为什么要建模

数据建模是一套方法论,主要是对数据的整合和存储做一些指导,强调从各个角度合理的存储数据。

有了合适的数据模型,是会带来很多好处的:

所以大数据系统需要数据模型方法来更好的组织和存储,以便在性能,成本,效率和质量之间取的平衡。

4

建模常用工具

PowerDesigner:

powerdesigner是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(ConceptualDataModel)和物理数据模型(PhysicalDataModel)两个层次对数据库进行设计。在这里,概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。

5

业务系统和数据仓库建模区别

在业务系统中,通常面对业务库的随机读写,目前主要是采用三范式(3NF)模型存储数据。

6

Kimball和Inmon架构

Inmon架构

辐射状企业信息工厂(CIF)方法由BillInmon及业界人士倡导的。在这个环境下,数据从操作性数据源中获取,在ETL系统中处理,将这一过程称为数据获取,从这一过程中获得的原子数据保存在满足第三范式的数据库中,这种规范化的原子数据的仓库被称为CIF架构下的企业级数据仓库(EDW)

与Kimball方法相似,CIF提倡企业数据协调与集成,但CIF认为要利用规范化的EDW承担这一角色,而Kimball架构强调具有一致性维度的企业总线的重要作用

Inmon企业级数据仓库的分析数据库通常以部门为中心(而不是围绕业务过程来组织),而且包含汇总数据,并不是原子级别数据,如果ETL过程中数据所应用的业务规则超越了基本概要,如部门改名了或者其他的类似计算,要将分析数据库与EDW原子数据联系起来将变得很困难

Kimball架构

架构对比

Inmon架构是自顶向下,即从数据抽取-->数据仓库-->数据集市,以数据源为导向,是一种瀑布流开发方法,模型偏向于3NF,

Kimball:架构是自下向上,即从数据集市(主题划分)-->数据仓库-->数据抽取,是以需求为导向的,一般使用星型模型

Inmon架构下,不强调事实表和维表的概念,因为数据源变化可能会比较大,更加强调的是数据清洗的工作

kimball架构强调模型由事实表和维表组成,注重事实表与维表的设计

Inmon架构中,数据集市有自己的物理存储,是真实存在的。

Kimball数据仓库架构中,数据集市是一个逻辑概念,只是多维数据仓库中的主题域划分,并没有自己的物理存储,也可以说是虚拟的数据集市。是数据仓库的一个访问层,是按主题域组织的数据集合,用于支持部门级的决策。

Inmon架构是以部门为中心,而Kimball架构是以业务过程为中心

Inmon架构中用户可以直接访问企业数据仓库(EDW)

Kimball架构中用户不可以直接访问企业数据仓库(EDW),只能访问展现区数据

总结

企业开发中一般选择Kimball维度建模

7

数据建模的几种方式

ER模型

ER模型是属于三范式的,是企业级的主题抽象而不是单独描述某个业务

1.1什么是范式

当分类不可再分时,这种关系是规范化的,一个低级范式分解转换为更高级的范式时,就叫做规范化

数据表可以分为1-5NF,第一范式是最低要求,第五范式则是最高要求

最常用的范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)

1.2第一范式

表中的每一列都是不可拆分的原子项

由上图可知,phone字段里面存了2个值,具有可分割性,不符合1NF,可以改成:

1.3第二范式

第二范式要同时满足下面两个条件:

上图可以看出,如果一个用户下了很多订单,则用户名,收获地址和手机号有重复出现的情况造成数据冗余,很明显不太符合第二范式,可以改成:

1.4第三范式

第三范式要同时满足下面两个条件:

简单点说,关系重复,能互相推导出来

如上图所示,如果知道了zip邮编,其实是能推出来省市区的,相反,知道了省市区,也是可以推出邮编的,有传递依赖,造成了冗余,不符合第三范式,需要改造:

1.5小结

在关系数据模型设计中,一般需要满足第三范式的要求。如果一个表有良好的主外键设计,就应该是满足3NF的表。

规范化带来的好处是通过减少数据冗余提高更新数据的效率,同时保证数据完整性。然而,我们在实际应用中也要防止过度规范化的问题。规范化程度越高,划分的表就越多,在查询数据时越有可能使用表连接操作。

而如果连接的表过多,会影响查询的性能。关键的问题是要依据业务需求,仔细权衡数据查询和数据更新的关系,制定最适合的规范化程度。还有一点需要注意的是,不要为了遵循严格的规范化规则而修改业务需求。

维度建模

维度建模是一种将大量数据结构化的逻辑设计手段,包含维度和指标,它不像ER模型目的是消除冗余数据,维度建模是面向分析,最终目的是提高查询性能,所以会增加数据冗余,并且违反三范式。

其中最常用的其实是星型模型

2.1背景

在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型,雪花型模型及星座模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型,雪花型模型还是星座模型进行组织。

2.2星型模型

星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,所以数据有一定的冗余,如在地域维度表中,存在国家A省B的城市C以及国家A省B的城市D两条记录,那么国家A和省B的信息分别存储了两次,即存在冗余。

2.3雪花模型

当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的维度表,形成一些局部的'层次'区域,这些被分解的表都连接到主维度表而不是事实表。如图,将地域维表又分解为国家,省份,城市等维表。它的优点是:通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能。雪花型结构去除了数据冗余。

2.4星座模型

星座模型是由星型模型延伸而来,星型模型是基于一张事实表而星座模式是基于多张事实表,并且共享维度表信息,这种模型往往应用于数据关系比星型模型和雪花模型更复杂的场合。星座模型需要多个事实表共享维度表,因而可以视为星形模型的集合,故亦被称为星系模型

2.5对比

2.6小结

通过对比,我们可以发现数据仓库大多数时候是比较适合使用星型模型构建底层数据Hive表,通过大量的冗余来减少表查询的次数从而提升查询效率,星型模型对OLAP的分析引擎支持比较友好,这一点在Kylin中比较能体现。而雪花模型在关系型数据库中如MySQL,Oracle中非常常见,尤其像电商的数据库表。在数据仓库中雪花模型和星座模型的应用场景比较少,但也不是没有,所以在具体设计的时候,可以考虑是不是能结合两者的优点参与设计,以此达到设计的最优化目的。

2.7建模原则:

建立核心模型与扩展模型体系,核心模型包括的宇段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要,不能让扩展模型的宇段过度侵人核心模型,以免破坏核心模型的架构简洁性与可维护性。

越是底层公用的处理逻辑越应该在数据调度依赖的底层进行封装与实现,不要让公用的处理逻辑暴露给应用层实现,不要让公共逻辑多处同时存在。

适当的数据冗余可换取查询和刷新性能,不宜过度冗余与数据复制。

具有相同含义的字段在不同表中的命名必须相同,必须使用规范定义中的名称。

表命名需清晰、一致,表名需易于消费者理解和使用。

星型模型设计步骤:

DataVault模型

DataVaultDanLinstedt发起创建的一种模型,它是模型的衍生,其设计的出发点也是为了实现数据的整合,但不能直接用于数据分析决策。它强调建立一个可审计的基础数据层,也就是强调数据的历史性、可追溯性和原子性,而不要求对数据进行过度的一致性处理和整合;

同时它基于主题概念将企业数据进行结构化组织,并引入了更进一步的范式处理来优化模型,以应对源系统变更的扩展性。DataVault型由以下几部分组成。

·Link:代表Hub之间的关系。这里与模型最大的区别是将关系作为一个独立的单元抽象,可以提升模型的扩展性。它可以直

DataVault模型比ER模型更容易设计和产出,它的ETL加工可实现配置化。

8

模型分层

数据仓库一般分为三层,自上而下分别为数据贴源层(ODS,OperationDataStore)、数据公共层(CDM,CommonDataModel)和数据应用层(ADS,ApplicationDataService)。

ods层

贴源层,与业务库保持一致,不做任何处理

cdm层

数据公共层CDM(CommonDataModel,又称通用数据模型层),包括DIM维度表、DWD,DW和DWS,由ODS层数据加工而成。主要完成数据加工与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标

公共汇总粒度事实层的表通常也被称为汇总逻辑表,用于存放派生指标数据。

ads层

数据应用层ADS(ApplicationDataService):面向业务需求定制开发,存放数据产品个性化的统计指标数据。

THE END
1.数据库数据模型(分类三要素概念)③ 网状模型的优点是能更直观的描述世界,良好的性能,缺点是结构复杂 (6)关系模型: ① 关系模型是目前最常见的数据模型之一,主要采用表格结构表达实体集以及实体之间的联系,最 大的特 色就是描述的一致性。 ② 关系是一张表,关系数据模型由若干个表组成。https://blog.csdn.net/zdplife/article/details/48053223
2.什么是数据模型?数据模型与数据治理有什么关系?什么是数据模型?数据模型与数据治理有什么关系? 在企业数据治理的广阔领域中,首要且关键的一步是明确沟通数据治理的需求。这包括对企业所持有的数据种类、数据存储位置、以及当前数据管理的具体情况有一个清晰的了解和记录。了解企业的数据资产是制定有效数据治理策略的基础。企业需要识别和盘点所有类型的数据资产,包括https://www.bilibili.com/read/cv36047680
3.软考知识点——数据模型(1)概念数据模型。概念数据模型也称信息模型,是按用户的观点对数据和信息建模;是现实世界到信息世界的第一层抽象,强调其语义表达功能,易于用户理解;是用户和数据库设计人员交流的语言,主要用于数据库设计。这类模型中最著名的是实体-联系模型,简称E-R模型。 https://mp.weixin.qq.com/s?__biz=MzI1ODQ1OTQxMQ==&mid=2247483999&idx=1&sn=16ddd1b8248bd39777457f980324b455&chksm=ea069023dd711935d591a58f14c03abaf6f539829d94a987328a0774749ed99505045138c02a&scene=27
4.14.试述数据模型的概念数据模型的作用和数据模型的三个要素③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。(数据模型是数据库系统的基础。任何一个DBMS都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中模型有不同的https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1811479608639750659&fr=search
5.数据模型数据模型(DataModel)是数据库系统中用以提供信息表示和操作手段的形式构架,也是数据特征的抽象[1]。 数据模型从抽象层次上描述了系统的静态特征、动态行为和约束条件,其描述的内容可分为数据结构、数据操作和数据约束三部分。 中文名 数据模型 类型 数据特征的抽象 https://baike.sogou.com/v450067.htm
6.什么是数据建模?SAP数据抽象概念的三个级别是什么? 数据模型的类型有很多,可能的布局类型也有很多。在数据处理方面,有三种公认的建模方式,分别代表模型开发时的思维抽象级别。 概念数据模型 第一级是“全局”模型,表示整体结构和内容,不包含数据计划的详细信息。数据建模通常从这一级开始,旨在确定各种数据集和整个企业中的数据流。概念模https://www.sap.cn/products/technology-platform/datasphere/what-is-data-modeling.html
7.数据模型duanxz1.什么是数据模型? 数据模型就是数据的组织和存储方法。主要关注的是从业务、数据存取和使用角度合理存储数据。 2.典型数据仓库建模方法论 ER模型 纬度模型(建模四步曲:确定业务流程->确定粒度->确定纬度->确定事实表) 二、阿里巴巴数据整合管理体系oneData https://www.cnblogs.com/duanxz/p/12597522.html
8.什么是数据分析模型什么是数据分析模型 提到数据分析,肯定要提到数据分析模型,在进行数据分析之前,先搭建数据分析模型,根据模型中的内容,具体细分到不同的数据指标进行细化分析,最终得到想要的分析结果或结论。常见的数据分析模型有:1、漏斗分析模型;2、留存分析模型;3、全行为路径分析模型;4.、热图分析模型;5、SCP分析模型。https://36kr.com/p/1485846344188297
9.什么是数据建模?IBM数据建模是为整个或部分信息系统创建可视化表示形式的过程,用于表明数据点和结构之间的联系。 其目的在于说明系统中使用和存储的数据类型、这些数据类型之间的关系、数据的分组和组织方式及其格式和属性。 数据模型是根据业务需求构建的。 规则和需求是通过业务利益相关方的反馈预先加以定义的,因此可纳入到新系统的设计之中https://www.ibm.com/cn-zh/topics/data-modeling
10.常见的三种数据库数据模型是什么mysql教程常见的三种数据库数据模型是:1、层次模型;2、网状模型;3、关系模型。数据库模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据如何被描述(例如树、表等)。 当前常见的三种数据库数据模型是:层次模型、网状模型、关系模型。 (推荐学习:mysql教程) https://www.php.cn/faq/452791.html
11.『懒人10分钟—大数据篇(一)』数据建模是什么?|— 数据模型规范 |— 建模指导 ODS |— ODS常用的设计方法 |— 应用场景 1、什么是数据模型? 数据模型就是数据的组织和存储方法。主要关注的是从业务、数据存取和使用角度合理存储数据。 2、典型数据仓库建模方法 - 范式模型 - ER实体关系模型 - 纬度模型 https://cloud.tencent.com/developer/article/1514589
12.数据模型的作用及三要素是什么?求答案答案解析 查看更多优质解析 解答一 举报 数据模型(Data Model)是现实世界数据特征的抽象,或者说是现实世界的数据模拟.数据库中,用数据模型来抽象地表示现实世界的数据和信息.数据模型的三要素是:数据结构、数据操作及完整性约束条件. 解析看不懂?免费查看同类题视频解析查看解答 https://qb.zuoyebang.com/xfe-question/question/74ba46941b4a5df6bcf121c6d34bde84.html
13.一文带您了解数据模型:概念模型逻辑模型和物理模型什么是数据模型 数据模型是以数据为视角对现实世界特征进行模拟和抽象的工具,根据业务需求提取信息的主要特征,并反映业务信息(对象)之间的关联关系。数据模型不仅能够较为真实地模拟业务场景,同时也是对重要业务模型和规则的固化记录。它包括三个阶段:概念模型、逻辑模型和物理模型,从概念层面的抽象到物理层面的固化记录,https://www.51cto.com/article/788261.html
14.数据可视化的三种基本模型有哪些帆软数字化转型知识库1. 什么是数据可视化? 数据可视化是将数据转换为图形、图表、地图等视觉元素的过程,以便更容易理解和分析数据。通过数据可视化,人们可以直观地发现数据中的模式、趋势和关系,帮助做出更明智的决策。 2. 数据可视化的三种基本模型 线性模型:线性模型是数据可视化中最基本的模型之一,通过在二维坐标系上绘制直线或曲线来展https://www.fanruan.com/blog/article/164705/
15.什么是OneData?阿里数据中台实施方法论解读经过深度加工后,数据就可以发挥其价值被产品、业务所用;最后通过统一的数据服务中间件“OneService”提供统一数据服务。 三、OneData 方法论切入点 《大数据之路:阿里巴巴大数据实践》一书中详细讲了OneData方法论,具体实施起来还是需要从数据架构方法、数据模型的设计方法以及数据标准化几方面入手。 https://developer.aliyun.com/article/970984
16.什么是AnyCAD?Inventor特色功能之AnyCADBIM免费教程想必许多设计工程师曾遇到使用打不开某种三维模型的情况。Inventor非常友好的具备打开所有三维模型数据格式的功能,来避免这样的尴尬。Inventor甚至还可以引用未来(更高)版本的 Inventor模型文件。我们称之为AnyCAD。顾名思义就是AnyCAD可以读取所有格式的三维模型。http://www.tuituisoft.com/bim/22947.html
17.数据模型一般来说是由三个部分组成,分别是:和常用的数据模型有哪几种?数据模型的三要素是什么?关系模型由哪三部分组成? 特别推荐 热点考点 2022年高考真题试卷汇总 2022年高中期中试卷汇总 2022年高中期末试卷汇总 2022年高中月考试卷汇总 二维码 回顶部?2021 作业帮?联系方式:service@zuoyebang.com?作业帮协议https://www.zybang.com/question/58749af5f5bc7f3a36cf53648237fe6a.html
18.数据分析常用方法之20个数据分析模型以上就是数据分析常用方法的20个数据分析模型,总的来说,模型即框架,框架即抽象思维。https://www.jiushuyun.com/hywz/1771.html
19.科学网—中国核酸数据库GSA数据提交指南GSA 数据模型 为确保与国际同类数据库系统的兼容性,GSA遵循INSDC联盟的数据标准,GSA元数据类别主要包括项目信息(BioProject,归档于生物项目数据库)、样本信息(BioSample,归档于生物样本数据库)、实验信息(Experiment)、以及测序反应(Run)信息。项目信息是用来描述所开展研究的目的、涉及物种、数据类型、研究思路等信息;样本https://blog.sciencenet.cn/blog-3334560-1218399.html
20.model数据库什么是 SQL Server? 连接到数据库引擎 新增功能 版本和功能 发行说明 业务连续性 数据库设计 层次结构数据 排序规则 数据库 概述 操作指南 概念 管理 系统数据库 系统数据库 主 模型 msdb 资源 tempdb 重新生成系统数据库 包含的数据库 参考 事件通知 https://docs.microsoft.com/zh-cn/SQL/relational-databases/databases/model-database?view=sql-server-ver16
21.应用数据分析模型有哪些关联规则模型是一种数据挖掘技术,用于发现数据中的关联规则。关联规则模型可以帮助企业发现不同变量之间的关系,以便更好地进行业务决策。关联规则模型在实际应用中有许多用途,例如购物篮分析、网络流量分析等。常见的关联规则模型包括Apriori算法、FPGrowth算法等。 https://www.linkflowtech.com/news/1659