avatar-decorate
牛客67708040号 level
获赞
3
粉丝
1
关注
2
看过 TA
5
Université d’Auvergne-Clermont-Ferrand 1
2025
算法工程师
IP属地:四川
暂未填写个人简介
私信
关注
一、事实表基础事实表作为数据仓库维度建模的核心,事实表中一条记录所表达的业务细节程度被称为粒度(一种是维度属性组合所表示的细节程度,一种是所表示的具体业务含义)。作为度量业务过程的事实,一般为整型或者浮点型,有可加性、半可见性和不可加性可加性事实:是指可以按照与事实表不安乱的任意维度进行汇总半可加性事实:智能按照特定维度汇总,不能对所有维度汇总不可加性事实:相对维表来说,事实表要细长很多,行的速度也比维表快很多维度属性也可以存储到事实表中,称为维度退化二、事实表设计原则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)半可加性
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务