数据建模流程

1.数据建模相关概念

         数据几乎总是用于两种目的:操作型记录的保存和分析型记录的保存,简单来说,操作型系统保存数据,分析型系统使用数据。前者一般仅反映数据的最新状态,按单条记录事务性来处理;其优化的核心思路是更快的处理事务。后者往往是反映数据一段时间的状态变化,按大批量方式处理数据;其核心是高性能,多维度处理数据。

        通常我们将操作型系统简称OLTP ---联机事务处理。将分析型系统简称为OLAP---联机分析处理。

2.维度建模

        维度建模,是数据仓库工程领域最流行的数仓经典建模模型。

        维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速的完成分析需求,同时还有较好的大规模复杂查询的响应性能。

        他是面向分析的,为了提高查询性能可以增加数据冗余,反规范化设计技术。

2.1.事实表

事实表产生于业务过程,存储了业务活动或事件提炼出来的性能度量。从最低的力度级别来看,事实表行对应一个度量事件。

事实表根据粒度的角色划分不同,可分为事务事实表,周期快照事实表,累计快照事实表。

事务事实表:用于承载事务数据,通常粒度比较低,他是面向事务的,其粒度是每一行对应一个事务,他是最细粒度的事实表。

周期快照事实表:按照一定的时间周期间隔来捕捉业务活动的执行情况,一旦装入事实表就不会再更新,他是事务事实表的补充。用来记录有规律的,固定时间间隔的业务累计数据,通常粒度比较高。

累计快照事实表:用来记录具有时间跨度的业务处理过程的整个过程的信息,每个生命周期一行,通常这类事实表比较少见。

注意: 事实表设计的时候,一定要注意一个事实表只能有一个粒度,不能将不同粒度的事实建立在同一张事实表中。

2.2.维度表

维度表,一致性维度,业务过程的发生或分析角度,我们主要关注下退化为度和缓慢变化维。

退化维度

在维度类型中,有一种重要的维度称为退化为度,这种维度指的是会直接把一些简单的维度放在事实表中,退化维度是维度建模领域中的一个非常重要的概念,它对理解维度建模有着至关重要的概念,退化维度一般可在分析中用来做分组使用。

缓慢变化维

维度的属性并不是始终不变的,它会随着时间的流式发生缓慢的变化吗,这种随着时间发生变化的维度我们一般称之为缓慢变化维。

缓慢变化维三种处理方式:

1.直接覆盖原值

2.增加维度行

做拉链表

3.增加属性列

3.粒度

用于确定某一事实表中的行表示什么,是最小活动单元或不同维度组合,即业务细节程度。

4.维度建模流程

选择业务过程 - > 声明粒度 -> 确定维度 - >确定事实 ,

声明粒度: 为业务最小活动单元或者不同维度组合。以供同粒度从多个组织业务过程合并度量的事实表称为合并事实表,需要注意的是,来自多个业务过程的事实合并到事实表时,它们必须具有同等级的粒度。

- 需求收集

        收集业务需求,在开始维度建模之前,需要理解业务需求,以及作为底层数据源的实际情况。通过与业务方沟通交流,查看现有报表等来发现需求。用于理解他们的基于关键性能指标,决策制定流程,支持分析需求的目标。同时,数据根据实际情况可通过与后端系统开发同事交流,了解访问数据可行性。

- 业务过程

        选择业务过程,业务过程时组织完成的操作型活动,理清业务过程,就是需要建立或获取性能度量,饼转换为事实表中的事实。多数事实表关注某一业务过程的结果,过程的选择非常重要,因为过程定义了特定的设计目标以及对粒度,维度,事实的定义。

- 声明粒度

        声明粒度,声明粒度是维度设计的重要步骤,粒度用于确定某一事实表中的行表示什么。在选择维度或事实前必须声明粒度,因为每个候选维度或事实必须域定义的粒度保持一致。在从给定的业务过程获取数据时,原子粒度时最低级别的粒度。强烈建议从关注原子级别粒度数据开始设计,因为原子粒度数据能够承受无法预期的用户查询。

- 确认维度

     确认维度(描述环境),维度提供围绕某一业务过程事件所涉及的人物,时间,地点,原因维度表包含分析应用所需要的用于过滤及分类事实的描述属性。牢牢掌握事实表的粒度,就能够将所有可能存在的维度区分开来。

- 确认事实(用于度量)

        事实,涉及来自业务过程事件的度量,基本上都是以数据值表示,一个事实表行与按照事实表。

  • 35
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值