共计 1641 个字符,预计需要花费 5 分钟才能阅读完成。
所谓的事实表和维度表技术,指的就是如何和结构一张事实表和维度表,是的事实表和维度表,能够涵盖当初目前的须要和不便后续上游数据利用的开发。
事实表,就是一个事实的汇合。事实来自业务过程的度量,基本上以数量值示意。事实表行对应一个事实,一个事实对应一个物理能够察看的事件,例如,再批发事件中,销售数量与总额是数据事实,与销售事件不相干的度量不能够放在同一个事实表外面,如员工的工资。
事实表是理论产生的度量,对应的,这些度量咱们能够分为三中类型: 可加、半可加、不可加。可加性度量能够依照与事实表关联的任意维度汇总。半可加度量能够对某些维度汇总,但不能对所有维度汇总。差额是常见的半可加事实,除了工夫维度之外,它们能够逾越所有维度进行加法操作。不可加度量,比方比率,任何维度都不能间接相加。因而对于不可加度量,咱们要尽可能的把不可加度量拆分为可加度量,例如比率,咱们能够别离存储他们的分子和分母,使其转为可加度量。
对于事实表,还有一类值 NULL, 须要咱们去校验和保障,对于事实表的度量,咱们能够容许存在 NULL, 不过对于一些外键,则不能存在空值,否在会导致违反参照完整性的状况产生,咱们能够赋予默认的代理键来示意未知或者 NULL 的状况。
参照的完整性要求关系中不容许援用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目标是保证数据的一致性。参照完整性又称援用完整性。
如果一个度量呈现在多个事实表外面,咱们还须要保障,多个事实表汇总到同一个维度的时候,度量的值相等,并且命名尽量雷同,这就是一致性事实。一致性事实能够保证数据口径的统一和取数不便。如何保证数据事实的一致性呢?如何保障多张事实表雷同字段雷同?这里倡议有两个,一是字段名称雷同,二是开发实现的时候,能够对表数据的值比对,并且能够起一个数据校验的工作,定时校验比对,如果有问题就告警。
简略的,咱们能够大略分为事务事实表,周期快照事实表,累计快照事实表,无事实的事实表。
- 事务事实表:事务事实表的一行对应空间或者工夫上某点的度量事件。即流水行数据。
- 周期快照事实表:周期快照事实表中的每一行汇总了产生在某一规范周期,例如某一天的多个事实。即按某个维度轻度汇总的数据。
- 累计快照事实表:累积快照事实表的行汇总了产生在过程开始和完结之间可预测步骤内的度量事件。也就是记录整一个业务过程,如下单,蕴含下单工夫,领取工夫,赔付工夫等。
- 无事实的事实表:有一些事件是没有事实的,事实蕴含多个度量,也就是局部事件没有度量,只有维度,例如某天学生加入的课程。
接下来说说维度表的一些要点,维度表蕴含繁多的主键列。维度表的主键能够作为与之关联的任何事实表的外键,当然,维度表行的形容环境与事实表行齐全对应。
维度表开发过程中有上面几个点。
- 维度代理键,维度表中会蕴含一个列,示意惟一主键,该主键不是操作型零碎的天然键,如果采纳天然键,须要多个维度行示意,另外,维度的天然键可能由多个源零碎建设,这些天然键可能会呈现兼容性问题。所以这里能够对代理键做一些解决,具体能够看业务状态,如果源零碎曾经保障了惟一,间接利用也是没有问题的。
- 进化维度, 有时,维度除了主键外没有其余内容,例如订单表外面的发票维度只有发票号,没有其余的信息,那么咱们能够将这个维度放入事实表外面,这个就是进化维度。
- 一致性维度,当不同的维度表的属性具备雷同列名和畛域内容时,称维度具备一致性。利用一致性维度属性与每一个事实表关联,可将来自不同事实表的信息合并到同一个报表外面。
咱们整顿了维度表和事实表之后,咱们须要造成一个总线矩阵。总线矩阵用于设计数据仓库架构的根本工具,矩阵的行示意业务过程,列代表维度。矩阵中的点示意维度与给定的业务过程是否存在关系,如下图。
造成这样的一个架构之后,咱们的数据仓库的构造分层,和外面的数据表设计实现了,就能够进行同步和开发了。
须要数据仓库材料能够点击这个支付数据仓库 (13) 大数据数仓经典最值得浏览书籍举荐
原文链接:数据仓库 (8) 数仓事实表和维度表技术