数据仓库学习之仓库建模
2019-12-09 10:12:13 4 举报
AI智能生成
数仓 建模
作者其他创作
大纲/内容
什么是建模?
用抽象描述现实的方法,例如:在数据库设计时,抽象实体之间的关系,来表达具体业务的关系
建模的阶段
逐步细化
逐步细化
1.业务建模
一般按照部门划分整个单位的业务,界定业务界限、理清部门间业务关系
深入到各部门具体的业务流程
确定目标、范围和实施阶段
2.领域概念建模
进一步抽取关键业务概念,并抽象化
将关键业务分组
理清分组间的概念,形成领域概念模型
3.逻辑建模
将业务概念实体化
4.物理建模
根据逻辑建模,调整技术平台工具选型、设备资源
实施
分层
ODS
该层存在的意义在于:
1.是数据团队和业务团队的天然分界线
2.保障数据追溯
3.保障系统稳定
1.是数据团队和业务团队的天然分界线
2.保障数据追溯
3.保障系统稳定
该层和业务数据同步应使用现成的工具,如:OGG/canal/sqoop/Debezium.
好处是:
1.抽取效率高
2.容易适应数据库变更
3.可以做到实时
4.可以使用工具自带的管理功能,如任务调度、定时、监控、发送消息状态等
好处是:
1.抽取效率高
2.容易适应数据库变更
3.可以做到实时
4.可以使用工具自带的管理功能,如任务调度、定时、监控、发送消息状态等
如果业务系统只能通过文件的方式导出数据, 推荐使用avro格式(比定长文件或csv文件更高效并易于处理)
如果业务上对于实时性要求很高, 最好将业务直接架在ODS层上.
DW
DWD
DWM
DWS
APP
建模方法?可以在不同的建模阶段选取不同的建模方法
范式建模法
在关系型数据库中一般采取该建模方法
3NF
每个属性值唯一,不具有多义性
每个非主属性必须完全依赖于整个主键,而非主键的一部分 ;
每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去
适用
只是基于关系型数据库建立数据仓库的情况下
优点
基于关系型数据库建模,快速、方便
缺点
对于非关系型、弱关系型数据处理时不灵活,不好扩展
实体建模法
将一个业务划分成实体、事件、说明
缺点
由于实体说明法只是一种抽象客观世界的方法,因此,注定了该建模方法只能局限在业务建模和领域概念建模阶段。因此,到了逻辑建模阶段和物理建模阶段,则是范式建模和维度建模发挥长处的阶段。
维度建模法
Kimball提出的概念,按照事实表,维表来构建数据仓库
模式
星型模型
多个维度与事实表直接相连
数据预处理,数据冗余。
易于理解
性能高
会导致大量数据冗余
雪花模型
对星型模型进一步增加维度,层次化
维度建模构建,使用总线矩阵
总线矩阵,明确每个数据域下有哪些业务过程后,即可构建总线矩阵,需要明确业务过程与那些维度相关,并定义每个数据域下的业务过程和维度。
Data Value模型
DV建模的思想主要是假设业务规则(数据关系)是变化的,如一般情况下,用户属于一个部门,用户和部门是多对一的关系,但假如有某天规则发生变化,用户可以属于多个部门,那就变成了多对多的关系。这样仓库中的数据模型就需要重新设计。DV模型所有的关系都是多对多的,如果发生上述情况,不需要更改数据模型。所以DV模型能够更好的适应业务变化。
基本结构
中心表(HUB)
用于记录在业务应用中常用到的业务实体键值,如员工ID,发票号、客户编号、车辆号等
链接表(LINK)
卫星表(Statellites)
数仓建设步骤
1.需求分析
确定数据仓库建设的需求、目标、意义、数据范围、领域、数据量级等(非业务需求)
2.对数仓整体规划、设计,包括资源、工具、软件、边界等
3.建模阶段
3.1 业务建模
从顶层较粗粒度的业务分析,此时需界定好相关业务系统的关系、每个业务系统的的业务规则、确定业务层面的目标、范围
3.2领域概念建模阶段
抽象业务,形成业务需求,同时确定主题域
确定数仓层次结构
3.3逻辑建模
将需求抽象为数据模型,对模型进行优化
3.4物理建模
进行实施,数据汇聚、抽取、清洗、转换
4.应用阶段
依据需求实施数据分析、数据挖掘
5.优化阶段
模型的可复用优化,数据中台的演进
0 条评论
下一页