-
2021-12-17 09:29:59
**
数据仓库建模
**
数据仓库建模流程
数据仓库建模流程:
1、业务建模
2、领域建模
3、逻辑建模
4、物理建模一 、业务建模
1、要搞清要做什么业务
2、要搞清业务得边界在哪
3、要知道做的业务和别的系统的关系
4、要知道怎么去做,哪个时间段做什么东西(里程碑)二、领域建模
1、要知道关键业务是什么
2、业务概念分组,找到相似的业务概念
3、抽象出分组中的业务流程
4、理清楚每个业务分组之间的关系三、逻辑建模
1、数据层次逻辑化
2、业务概念实体化,并考虑其具体的属性
3、事件实体化,并考虑其属性内容
4、说明实体化,并考虑其属性内容四、物理建模
1、针对特定物理化平台,做出相应的技术调整
2、针对模型的性能考虑,对特定平台作出相应的调整
3、针对管理的需要,结合特定的平台,做出相应的调整
4、生成最后的执行脚本菜鸟理论做笔记记录 不喜勿喷
更多相关内容 -
独一无二的数据仓库建模指南系列教程升级版
2021-06-07 14:51:56独一无二的数据仓库建模指南系列教程升级版视频教程,完整版12章! 课程上学到什么,能给我带来什么?在这里,你可以: 1、学习建立高质量的数据库模型和技巧,以及丰富的例子。 2、学习从企业视角进行数据规划以及... -
数据仓库建模
2018-09-05 13:58:24问题导读: 1、如何理解IBM 的 TDWM 概念模型是什么? 2、什么是数据模型和数据仓库模型? 3、为什么需要数据模型,如何建设数据模型... 4、数据仓库建模阶段划分分为多少阶段? 5、数据仓库建模方法都有哪些? -
数据仓库建模指南视频教程|数据仓库视频教程
2018-12-04 10:01:076、成为一个真正的数据仓库建模顶级高手 适合人群: 1. 数据仓库建模初级工程师: 从一开始就养成良好的建模习惯,学习建立高质量的数据库模型和技巧,以及丰富的例子。 2. 有一定经验的架构工程师: 从项目架构... -
数据仓库建模 Powerdesigner 维度建模 软件分析 建模 视频教程
2017-12-15 11:31:45数据仓库建模 Powerdesigner 维度建模 软件分析 建模 视频教程 -
数据仓库建模技术
2021-03-02 03:46:22数据仓库建模在业务需求分析之后开始,是数据仓库构造工作正式开始的第一步,正确而完备的数据模型是用户业务需求的体现,是数据仓库项目成功与否最重要的技术因素。金融企业的信息系统具有业务复杂、机构复杂、系统... -
独一无二的数据仓库建模指南系列教程升级版.txt
2020-03-15 21:09:31独一无二的数据仓库建模指南系列教程升级版 -
数据仓库建模方法
2019-01-29 19:06:16每个行业有自己的模型,但是 不同行业的数据模型,在数据建模的方法上,却都有着共通的...数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,一般的来说, 我们数据仓库模型分为几下几个层次 -
数据仓库建模方法论
2017-10-17 21:00:02数据仓库建模方法论: 数据仓库概念 数据仓库数据架构 逻辑数据模型 数据模型标准化工艺流程 -
数据仓库建模指南笔记
2018-06-27 16:18:05数据仓库建模笔记,看视频过程中自己整理的笔记,分享给大家 -
浅谈数据仓库建设中的数据建模方法.pdf
2021-05-19 21:30:59数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式, 来表示现实世界中事务的相互关系的一种映射。在这里,数据模型表现的抽象的是实体和实 体之间的关系,通过对实体和实体之间... -
数据仓库建模过程及相关工具
2021-07-13 19:37:15详细介绍数据仓库建模过程及相关工具 -
地区电力调度数据仓库建模与数据处理
2021-01-14 23:10:15提出其共享维度建立数据模型的建模思路,数据仓库的数据来源是任何与需要分析主题有关的地区电力调度数据,在数据抽取、转换、清洗、装载(ETL)的过程进行数据过滤、重新选择粒度、统一编码等清洗与转换后存入数据仓库... -
数据仓库建模--维度建模
2022-02-26 22:19:29数据仓库建模--维度建模数据仓库建模(绝对重点)
一:ODS层
1)HDFS用户行为数据
2)HDFS业务数据
3)针对HDFS上的用户行为数据和业务数据,我们如何规划处理?
(1)保持数据原貌不做任何修改,起到备份数据的作用。
(2)数据采用压缩,减少磁盘存储空间(例如:原始数据100G,可以压缩到10G左右)
(3)创建分区表,防止后续的全表扫描
二: DIM层和DWD层
DIM层DWD层需构建维度模型,一般采用星型模型,呈现的状态一般为星座模型。
维度建模
(1)为什么维度建模,不选三范式建模
从分析决策的需求出发构建模型,为分析需求服务,重点关注用户如何快速的完成需求分析,具有较好的大规模复杂查询的响应性能
(2)基本概念介绍
【业务过程】:下订单
【粒度】:每笔订单(拆分为单个物品)
【维度】:地域、年龄、渠道等(可供分析的角度)
【事实/度量】:订单金额等(可用于分析的数据)
维度建模步骤:
一般维度建模步骤(全程6步,主要步骤有4步)
- 收集业务需求与数据实现:在开始维度建模工作之前,需要理解业务需求,以及作为底层源数据的实际情况。通过与业务方沟通交流、查看现有报表等来发现需求,用于理解他们的基于关键性能指标、竞争性商业问题、决策制定过程、支持分析需求的目标。同时,数据实际情况可通过与数据库系统专家交流,了解访问数据可行性等
- 选择业务过程:通过对业务需求以及数据源的综合考虑,决定选择哪种业务过程开展建模工作。
- 声明粒度:粒度用于确定某一事实表中的行表示什么
- 确认维度:维度提供围绕某一业务过程事件所涉及的“谁、什么、何处、何时、为什么、如何.
- 确认事实(用于度量):事实涉及来自业务过程事件的度量,基本上以数量值表示
- 部署方式:选择一种维度模型的落地方式
维度建模主要按照以下四个步骤:
选择业务过程→声明粒度→确认维度→确认事实
(1)选择业务过程
在业务系统中,挑选我们感兴趣的业务线,比如下单业务,支付业务,退款业务,物流业务,一条业务线对应一张事实表。
(2)声明粒度
数据粒度指数据仓库的数据中保存数据的细化程度或综合程度的级别。
声明粒度意味着精确定义事实表中的一行数据表示什么,应该尽可能选择最小粒度,以此来应各种各样的需求。
典型的粒度声明如下:
订单事实表中一行数据表示的是一个订单中的一个商品项。
支付事实表中一行数据表示的是一个支付记录。
(3)确定维度
维度的主要作用是描述业务是事实,主要表示的是“谁,何处,何时”等信息。
确定维度的原则是:后续需求中是否要分析相关维度的指标。例如,需要统计,什么时间下的订单多,哪个地区下的订单多,哪个用户下的订单多。需要确定的维度就包括:时间维度、地区维度、用户维度。
(4)确定事实
此处的“事实”一词,指的是业务中的度量值(次数、个数、件数、金额,可以进行累加),例如订单金额、下单次数等。
在DWD层,以业务过程为建模驱动,基于每个具体业务过程的特点,构建最细粒度的明细层事实表。事实表可做适当的宽表化处理。
事实表和维度表的关联比较灵活,但是为了应对更复杂的业务需求,可以将能关联上的表尽量关联上。
时间
用户
地区
商品
优惠券
活动
度量值
订单
√
√
√
运费/优惠金额/原始金额/最终金额
订单详情
√
√
√
√
√
√
件数/优惠金额/原始金额/最终金额
支付
√
√
√
支付金额
加购
√
√
√
件数/金额
收藏
√
√
√
次数
评价
√
√
√
次数
退单
√
√
√
√
件数/金额
退款
√
√
√
√
件数/金额
优惠券领用
√
√
√
次数
至此,数据仓库的维度建模已经完毕,DWD层是以业务过程为驱动。
DWS层、DWT层和ADS层都是以需求为驱动,和维度建模已经没有关系了。
DWS和DWT都是建宽表,按照主题去建表。主题相当于观察问题的角度。对应着维度表。
三 DWS层与DWT层
DWS层和DWT层统称宽表层,这两层的设计思想大致相同,通过以下案例进行阐述。
1)问题引出:两个需求,统计每个省份订单的个数、统计每个省份订单的总金额
2)处理办法:都是将省份表和订单表进行join,group by省份,然后计算。同样数据被计算了两次,实际上类似的场景还会更多。
那怎么设计能避免重复计算呢?
针对上述场景,可以设计一张地区宽表,其主键为地区ID,字段包含为:下单次数、下单金额、支付次数、支付金额等。上述所有指标都统一进行计算,并将结果保存在该宽表中,这样就能有效避免数据的重复计算。
3)总结:
(1)需要建哪些宽表:以维度为基准。
(2)宽表里面的字段:是站在不同维度的角度去看事实表,重点关注事实表聚合后的度量值。
(3)DWS和DWT层的区别:DWS层存放的所有主题对象当天的汇总行为,例如每个地区当天的下单次数,下单金额等,DWT层存放的是所有主题对象的累积行为,例如每个地区最近7天(15天、30天、60天)的下单次数、下单金额等。
四 ADS层
对电商系统各大主题指标分别进行分析。
-
数据仓库建模(二):建模流程
2021-12-11 11:21:47数据仓库建模(二):建模流程说明kimball 维度建模维度建模设计流程 说明 该系列的文章仅为记录以及《数据仓库工具箱(维度建模指南)》的读后心得和思考,如有异议,请留言 将某些事情以具体、有形的方式抽象成...数据仓库建模(二):建模流程
说明
该系列的文章仅为记录以及《数据仓库工具箱(维度建模指南)》的读后心得和思考,如有异议,请留言
将某些事情以具体、有形的方式抽象成数据集展示出来是数仓建设的最终目的,因此数据模型一定要保持简单性的设计,如果从复杂的数据模型起步,最终将会导致模型过于复杂,从而导致查询性能低下。爱因斯坦曾经说过:“凡事应该尽量简单,直到不能再简单为止”。
– 《数据仓库工具箱(维度建模指南)》kimball 维度建模
Ralph Kimball 是一位数仓建设领域的大师,
《数据仓库工具箱(维度建模指南)》
这本书就是这位大师和另外一位大师Margy Ross
创作的。Kimball 所提出的这种维度建模理论,被大部分人接受并广泛使用,包括各个公司的一些建模方案都是基于这些理论实现的,虽然不知道
Kimball
这个名词。。。该篇博客主要是对 Kimball 建模的流程做记录并分享自己的心得
维度建模设计流程
① 选择业务过程
业务过程是组织完成的操作类型活动,例如,获得订单、处理保险索赔、学生课程注册或每个月账单的快照等
获取事实一般是通过业务过程事件的建立或获取事实度量,并转换为事实表中的事实。业务过程的选择非常重要,因为业务过程定义了特定的设计目标以及对粒度、维度、事实的定义。每个业务过程对应企业数据仓库总线矩阵中的一行
② 声明粒度
粒度用于确定某一事实表中的行表示什么
在选择维度或事实前必须声明粒度,因为每个候选维度或事实必须与定义的粒度保持一致
在所有维度设计中强制实行一致性是保证 BI 应用性能和易用性的关键。在从给定的业务过程获取数据时,原子粒度是最低级别的粒度,一般是从原子级别粒度数据开始设计,因为原子粒度数据能够承受无法预期的用户查询。上卷汇总粒度对性能调整来说非常重要,但这样的粒度往往要猜测业务公共问题。针对不同的事实表粒度,要建立不同的物理表,在同一事实表中不要混用多种不同的粒度。
③ 确认维度
维度是围绕业务过程中的事件,按照不同的维度去描述事实
维度表有时被称为数据仓库的 “灵魂” ,因为维度表包含业务分析的如口和描述性标识
④ 确认事实
一个事实表行对应一个度量事件,并且事实表行必须和声明的粒度保持一致。例如,在零售业务中,一个销售产品的数量与其总销售额的事实中,不允许让员工的工资存在与该事实中,因为这时的粒度不允许
⑤ 拓展维度模型
维度模型对数据关系发生变化要有灵活的适应性。当发生以下情况时,我们只需要更改
SQL
的查询语句就可以完成我们的目标查询1. 当事实与存在的事实表粒度一致时,我们可以在事实表中创建新的列 2. 可以在事实表中创建新的外键列,然后与维度表进行关联,前提是维度列与事实表的粒度一致 3. 可以在维度表中创建新的列来增加属性 4. 可以使事实表的粒度更原子化,方法是在维度表上增加属性,然后以更细的粒度重置事实表,小心保存事实表及维度表的列名
-
数据仓库建模理论总结
2022-02-24 22:57:401.数据仓库和数据库的区别:数据库是在用户与服务器交互的过程中逐渐完善的,而数据仓库主要是对数据库以及日志数据进一步处理。 2.数据仓库主要分五个层,分别是ODS,DWD,DWS,DWT,ADS层。中文名分别对应原始...1.数据仓库和数据库的区别:数据库是在用户与服务器交互的过程中逐渐完善的,而数据仓库主要是对数据库以及日志数据进一步处理。
2.数据仓库主要分五个层,分别是ODS,DWD,DWS,DWT,ADS层。中文名分别对应原始数据层,数据明细层,数据服务层,数据主题层,数据应用层。
3.数据库采用关系模型,现代数据库中的关系表一般满足三范式,第一范式1NF要求属性满足原子性(不可分割),第二范式2NF要求不存在部份依赖(部分依赖是说表中的某个属性仅仅依赖于主键的一部分,而不是依赖于主键的全部;解决办法就是拆分),第三范式3NF要求不存在传递依赖(传递依赖的例子:学号可以唯一确定院系,院系可以唯一确定院长,学号确定院长就是传递依赖)。
4.数据仓库采用维度模型,维度模型包含事实表和维度表。事实表记录了业务事实,主要包括指向维度表的外键和度量值(统计信息);维度表主要是对事实表中外键的扩展,都是描述性的信息。
5.上4已经写道,维度建模包括事实表和维度表;但事实表还包括了三种组织方式。第一种事务性事实表,比如订单记录;第二种是周期性快照事实表,对于这种事实表来说,完整的记录不是很重要,重要的是某一个时刻的数据,比如购物车——对于购物车来说,每次的变化不重要,关键是每天结束时用户的购物车里有什么;第三是累积型快照事实表,适合周期性变化的业务,比如订单——订单会经历下单、打包、运输等几个周期。
6.(bilibili 电商数仓V4.0 74节)维度模型也分为三种——星型模型,雪花模型和星座模型;其中,星型模型和雪花模型是基于一张事实表,星座模型是多张事实表,事实表之间可能共用维度表。星型模型和雪花模型的区别主要在于维度表,雪花模型的维度表冗余性更低,更接近3NF(但仅仅是接近)。
7.1ODS层解析。ODS也叫原始数据层,基本上就是把日志数据和数据库里的业务数据提取出来。
7.2DWD层和DIM层解析。DWD的第二个D是detail,所以叫数据明细层。DWD层和DIM层可以说是数仓建模过程中最重要的部分,会构建业务总线矩阵,从而形成事实表和维度表。
7.3DWS和DWT层解析。S是summary,T是topic,所以分别叫数据汇总层和数据主题层。s是按天汇总,t是按多天汇总。这里的汇总其实是以多个维度为主题,分别对事实表的度量值进行聚合计算(比如sum,max,aver这些)。
-
数据仓库建模,数据治理
2022-01-26 15:26:31数据仓库建模,数据治理 现在数据源来自sap wms crm 财务共享平台 oa 网报等各个公司系统 公司各种系统相互关联,数据之间已经形成了错综复杂的关系模型,拥有500多张表,并在此基础上开发... -
数据仓库建模案例
2019-09-03 11:05:38数据仓库建模包含了几种数据建模技术,除了之前在数据库系列中介绍过的ER建模和关系建模,还包括专门针对数据仓库的维度建模技术。 本文将详细介绍数据仓库维度建模技术,并重点讨论三种基于ER建模/关系建模/维度... -
数据仓库建模与ETL 实践技巧
2016-04-22 16:36:36本文描述了成功建立企业级数据仓库的基本步骤和所使用的高级...库的五步法,在对数据仓库分析、设计、建模方面提出了完备的解决方案和实用的高级技巧,尤其对数据 仓库模型搭建以及ETL处理有非常好的指导意义和使用价值 -
数据仓库建模-分层
2022-02-10 16:56:20数据仓库的特征在于面向主题、集成性、稳定性和时变性,用于支持管理决策。数据仓库的存在的意义在于对企业的所有数据进行汇总,为企业各个部门提供统一的、规范的数据出口。数据仓库在构建过程中通常都需要进行... -
数据仓库系列2-数据仓库建模介绍
2021-11-30 09:28:55维度建模技术基本概念3.1 收集业务需求与数据实现3.2 协作维度建模研讨3.3 4 步骤维度设计过程3.4 业务过程3.5 粒度3.6 描述环境的维度3.7 用于度量的事实3.8 星型模式与 OLAP 多维数据库3.9 方便地扩展到维度模型... -
数据仓库建模之金融银行模型篇
2012-07-24 11:42:12主要介绍金融银行数据建模的框架结构,对熟悉该领域有启迪作用,数据仓库的核心就是建模