数据仓库 桥接表_数据仓库-维度处理-读书笔记(四)

  • Post author:
  • Post category:其他


一致性维度

1,当不同的维度表的属性具有相同的列名和领域内容时候,称为维度具有一致性

2,有利于不同事实表的合并到同一报表中去

3,在一致性维度的前提下,可以被所有事实表复用

4,可以保证分析结果的一致性且减少开销

缩减维度

场景一:当构建聚集事实表需要缩减上卷维度

场景二:商业过程自然的获取粒度级别较高的数据

场景三:两个维度具有同样粒度级别的细节数据,但是其中一个仅表示行的部分子集

跨表钻取

1,当两个表包含相同的一致性属性时候,使不同的查询能够针对两个或者更多的事实表进行查询

价值链

1,区分与组织中主要业务过程的自然流程。是对商业活动过程的重新整合和组装。同一组织下的同一个业务过程,对于不同的角色价值链不同,例如:销售商的价值链包括:购买、库存、零售额等;分类账价值链包括:预算编制、承付款项、付款等。

2,尽量为每个过程至少建立一个原子事实表

企业数据仓库总线架构

通过关注业务过程将DW/BI规划过程分解为可管理的模块,通过重用跨不同过程的标准化一致性维度发布实现集成

企业数据仓库总线矩阵

是用于设计并与企业数据仓库总线架构交互的基本工具。矩阵的行代表业务过程,列表示维度,点表示维度与给定的业务过程是否存在关联关系。

总线矩阵

总线矩阵实现细节

是一个更加细粒度化的总线矩阵,其中扩展每个业务过程行以展示特定事实。

总线矩阵实现细节

机会/利益相关方矩阵

用于区分哪些业务过程分组应该与过程中心行相关

数据仓库如何处理缓慢变化维度属性

SCD全称:Slowly Changing Dimension

SCD0:原样保留

维度值属性不会发生变化,事实表以原始值分组。例如:客户的原始的信用卡积分或者持久性标识符 如身份证

SCD1:重写

原来的属性值被新值覆盖。

特点:

1,总是反应最近的状态。此技术破坏了历史情况。

2,易于实现且不需要建立额外的维度行,但是会影响聚集事实或者OLAP多维数据库重新计算

SCD2:增加新行

在维度表中增加新行,新行采用修改的属性址

特点:

1,维度表主键更具有一般性,不能是自然键或者是持久键

2,增加新行时候,分配一个新的主代理键,作为所有事实表的外键,直到产生新的维度键

SCD2缓慢变化维度处理

3,通常我们还会有其余的设计方式去处理SCD2,但是图中的方式是管理、操作最简单的方式

SCD3:增加新属性

在维度上增加新属性以保存原来的值,新属性的变化通过SCD1方式处理

增加新列,此种方式不太常用。

SCD4:增加微型维度

当维度中的一组属性快速变化并划分为微型维度时候使用

微型维度需要自己的唯一主键。其主键从相关的事实表中获取

SCD5:增加微型维度以及类型1支架

对于精确保存历史属性值,按照当前属性值,增加报表的历史事实。

SCD5建立在SCD4基础上,并嵌入SCD1应用基维度中的微型维度

SCD6:增加类型1属性到类型2维度

也保存历史和当前维度属性值。SCD6建立在SCD2的基础上,同时嵌入维度行当前类型1版本。

在此环境中,当属性发生变化时候,SCD1属性由系统自动重写与特定持久键关联的所有行

SCD7:双类型1和类型2维度

支持现在和过去的混合技术。

通过SCD1仅仅展示最新属性值。通过SCD2展示最新历史概要。维度的持久键和代理键需要同时存在事实表上。

数据仓库如何处理维度层次关系

固定深度位置的层次

是多对一关系的一种。最容易理解和查询的层次关系,提供可预测的、快速的查询性能。

需要深度确定,命名稳定

轻微参差不齐

没有固定的层次深度,但层次深度有限。一般尝试确定最大深度,然后基于业务规则放置属性

具有层次桥接表的参差不齐/可变深度层次

深度不确定的层次非常难以建模。可以通过桥接的方式建模参差不齐的层次。桥接表对每个可能的路径保留一行,确保能够遍历所有层次的形式

具有路径字符属性的可变深度层次

通过使用路径字符属性,以避免使用桥接表表示可变深度层次。对维度中的每行的路径字符属性嵌入特定的文本字符,包含从高层次到特定维度行所描述节点的完整路径描述。

缺陷:

1,不能确保其他层次快速替换

2,无法保证共享自身层次

3,当层次发生变化,可能需要重新标记整个层次



版权声明:本文为weixin_39927214原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。