数仓
一、事实表基础
事实表作为数据仓库维度建模的核心,事实表中一条记录所表达的业务细节程度被称为粒度(一种是维度属性组合所表示的细节程度,一种是所表示的具体业务含义)。
作为度量业务过程的事实,一般为整型或者浮点型,有可加性、半可见性和不可加性
可加性事实:是指可以按照与事实表不安乱的任意维度进行汇总
半可加性事实:智能按照特定维度汇总,不能对所有维度汇总
不可加性事实:
相对维表来说,事实表要细长很多,行的速度也比维表快很多
维度属性也可以存储到事实表中,称为维度退化
二、事实表设计原则
1)尽可能包含所有与业务过程相关的事实
2)只选择与业务过程相关的事实
3)分解不可加性事实为客家的组件
4)在选择维度和事实之前必须先申明粒度(粒度越细越好,从原子粒度开始)
5)在同一个事实表中不能有多种不同粒度的事实(事实表中的所有事实需要与表定义的粒度保持一致,在同一个事实表中不能有多种不同粒度的事实)
6)事实的单位要保持一致
7)对事实的null值要处理,建议用0填充
8)使用退化维度提高事实表的易用性
三、事实表设计方法
1)选择业务过程及确定事实表类型(比如付款业务,事实表应只包含买家付款这一个业务)
2)声明粒度(1.客户的零售单据上的每个条目。2.保险单上的每个交易。)
3)确定维度
4)确定事实(事实可以通过回答“过程的度量是什么”来确定),事实的粒度要与所声明的事实表的粒度一致,
5)冗余维度
四、事务事实表
任何类型的事件都可以被理解为一种事务,创建订单、买家付款等
五、单事务事实表
单事务事实表,针对每个业务设计一个事实表,可以方便地对每个业务过程进行独立的分析研究
六、多事务事实表
将不同的事实放到同一个事实表中,同一个事实表中包含不同的业务过程(不同业务过程的事实使用不同的事实字段进行存放,不同业务过程的事实使用用一个事实字段进行存放)
比如淘宝的交易事实表,里面包含了创建订单、交易、收货等
对比
1)需要分析不同业务过程之间的相似性和业务源系统
2)在考虑是采用单事务事实表还是多事务事实表时候,必须考虑粒度和维度,当不同的业务过程粒度相同。同时拥有相似的维度时候,可以考虑多事务事实表
3)单事务事实表在处理事实上比较方便,仅仅体现一个业务过程即可,多事务事实表由于有多个业务过程,所以有更多的事实需要处理
4)根据下游业务使用
5)计算存储成本
多事务事实表的存储成本小于单事实事实表
七、事实的设计准则
1)事实完整性
事实表包含与其描述的过程有关的所有事实,尽可能多地获取所有的度量
2)事实一致性
在确定事务事实表的事实时候,明确存储每一个事实以保证确保度量的一致性
3)事实可加性
八、周期快照事实表
快照事实表在确定的间隔内对实体的度量进行抽样,不需要聚集长期的事务历史
特性:事务事实表的粒度能以多种方式表达,快照事实表的粒度通常以维度形式声明;事务事实表的是稀疏的,快照事实表是稠密的,事务事实表中的事实是完全可加的
1)用快照采样状态
2)快照粒度
事务事实表的粒度可以通过业务过程中所设计的细节程度来描述,快照事实表的粒度通常总是被多维声明
3)密度与稀疏性
事务事实表是稀疏的,只有当天发生的业务过程,事实表才会记录。快照表是稠密的,无论当天是否有业务过程发生,都会记录一行
4)半可加性
#牛客AI配图神器#
事实表作为数据仓库维度建模的核心,事实表中一条记录所表达的业务细节程度被称为粒度(一种是维度属性组合所表示的细节程度,一种是所表示的具体业务含义)。
作为度量业务过程的事实,一般为整型或者浮点型,有可加性、半可见性和不可加性
可加性事实:是指可以按照与事实表不安乱的任意维度进行汇总
半可加性事实:智能按照特定维度汇总,不能对所有维度汇总
不可加性事实:
相对维表来说,事实表要细长很多,行的速度也比维表快很多
维度属性也可以存储到事实表中,称为维度退化
二、事实表设计原则
1)尽可能包含所有与业务过程相关的事实
2)只选择与业务过程相关的事实
3)分解不可加性事实为客家的组件
4)在选择维度和事实之前必须先申明粒度(粒度越细越好,从原子粒度开始)
5)在同一个事实表中不能有多种不同粒度的事实(事实表中的所有事实需要与表定义的粒度保持一致,在同一个事实表中不能有多种不同粒度的事实)
6)事实的单位要保持一致
7)对事实的null值要处理,建议用0填充
8)使用退化维度提高事实表的易用性
三、事实表设计方法
1)选择业务过程及确定事实表类型(比如付款业务,事实表应只包含买家付款这一个业务)
2)声明粒度(1.客户的零售单据上的每个条目。2.保险单上的每个交易。)
3)确定维度
4)确定事实(事实可以通过回答“过程的度量是什么”来确定),事实的粒度要与所声明的事实表的粒度一致,
5)冗余维度
四、事务事实表
任何类型的事件都可以被理解为一种事务,创建订单、买家付款等
五、单事务事实表
单事务事实表,针对每个业务设计一个事实表,可以方便地对每个业务过程进行独立的分析研究
六、多事务事实表
将不同的事实放到同一个事实表中,同一个事实表中包含不同的业务过程(不同业务过程的事实使用不同的事实字段进行存放,不同业务过程的事实使用用一个事实字段进行存放)
比如淘宝的交易事实表,里面包含了创建订单、交易、收货等
对比
1)需要分析不同业务过程之间的相似性和业务源系统
2)在考虑是采用单事务事实表还是多事务事实表时候,必须考虑粒度和维度,当不同的业务过程粒度相同。同时拥有相似的维度时候,可以考虑多事务事实表
3)单事务事实表在处理事实上比较方便,仅仅体现一个业务过程即可,多事务事实表由于有多个业务过程,所以有更多的事实需要处理
4)根据下游业务使用
5)计算存储成本
多事务事实表的存储成本小于单事实事实表
七、事实的设计准则
1)事实完整性
事实表包含与其描述的过程有关的所有事实,尽可能多地获取所有的度量
2)事实一致性
在确定事务事实表的事实时候,明确存储每一个事实以保证确保度量的一致性
3)事实可加性
八、周期快照事实表
快照事实表在确定的间隔内对实体的度量进行抽样,不需要聚集长期的事务历史
特性:事务事实表的粒度能以多种方式表达,快照事实表的粒度通常以维度形式声明;事务事实表的是稀疏的,快照事实表是稠密的,事务事实表中的事实是完全可加的
1)用快照采样状态
2)快照粒度
事务事实表的粒度可以通过业务过程中所设计的细节程度来描述,快照事实表的粒度通常总是被多维声明
3)密度与稀疏性
事务事实表是稀疏的,只有当天发生的业务过程,事实表才会记录。快照表是稠密的,无论当天是否有业务过程发生,都会记录一行
4)半可加性
#牛客AI配图神器#
全部评论
相关推荐