首页 > 编程知识 正文

kimball维度建模 数据集市,kimball模型

时间:2023-05-04 17:09:58 阅读:271173 作者:4113

基本概念:

事实
事实通常是指一些可以被度量的业务情况,比如商城销量,一般是数值型的,被聚合和计算维度
维度是观察数据的角度,表示从xx角度去看xxx,比如从地域的角度去分析商城的销售情况,而维度通常是一组层次关系或者描述信息,用来定义和描述事实,Kimball建模一般指维度建模。

Kimball维度建模4步骤

选择业务过程
建模的第一步骤是要描述需要建模的业务流程,就是说你需要了解你建模的需求是什么,我们需要从业务流程中提取出我们需要的维度、度量;业务过程事件建立或获取性能度量,并转换为事实表中的特定的事实,多数事实关注某一业务过程的结果,过程的选择非常重要,因为过程定义了特定的设计目的以及多粒度、维度、事实的定义;例如一个商城的销售流程,该商城的商品和销售详情情况都需要被关注;声明粒度
粒度用于确定事实表中行表示什么,比如一行表示一个订单,一个表示一次页面浏览,在选择维度和事实前必须声明粒度,每个候选维度与事实必须与定义的粒度保持一致,原子粒度是最低级别的数据粒度,原子粒度能够承受无法预期的用户查询,例如说,在一个商城订单的事实表中,如果最小粒度不是一行数据一个订单而是一行数据表格一天或者一个小时内的订单汇总事实,那就无法获知某个任意时间段内特别活动(比如整点秒杀)的事实数据;
同样在一个事实表中不要多重粒度混动,可以在保留最原始粒度的事实表在扩种累计或者某写大维度的汇总事实表确认维度
一旦事实表的粒度被选定,则时期、产品与商店方面的维度就应该随之被确定下来。
在基本维度框架范围内,可能需要知道其他诸如针对某种产品的促销这样的维度是否可以分配数据。这个内容可表示为另外一个设计原则。
一个经过仔细考虑的粒度定义确定了事实表的基本维度特征。同时,经常也可能向事实表的基本粒度加入更多的维度,而这些附加的维度会在基本维度的每个组合值方面自然地取得惟一的值。
如果附加的维度因为导致生产另外的事实行而违背了这个基本的粒度定义,那么必须对粒度定义进行修改以适应这个维度的情形。确认事实创建事实
确定好维度后,就考虑进行事实表的加载,业务系统一行行数据一笔笔交易,就是将要建立的事实表原始数据,事实表创建一般就是星星模型,即事实表里面保存事实数据通过维度表的外键(代理键)与各个维度进行关系关联

kimball维度建模法的缺点,由于在构建星型模式之前需要进行大量的数据预处理,因此会导致大量的数据处理工作。而且,当业务发生变化,需要重新进行维度的定义时,往往需要重新进行维度数据的预处理。而在这些与处理过程中,往往会导致大量的数据冗余。另外一个缺点就是,如果只是依靠单纯的维度建模,不能保证数据来源的一致性和准确性,而且在数据仓库的底层,不是特别适用于维度建模的方法。

参考来源:
数据仓库的几种建模方法
Kimball维度建模方法理论
经典书籍:《数据仓库工具箱(第3版)-维度建模指南》

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。