kimball维度建模方法
Kimball维度建模四大过程
1)选择业务过程
业务过程是主体完成的活动,是维度建模的基础。客观来描述很抽象,举例来说明。下单、付款、发货和完成订单都可以叫作业务过程,完成活动的主体有些差异。去理解和描述业务过程是后续过程的前置条件。
2)声明粒度
声明粒度是建模过程中非常精细的一环,因为粒度是要清晰的表名事实表的每一行数据代表的意义。还是举例来说明,订单表每一条数据都是一个独立的订单(父子订单等情况后续博客会再论述)。后续维度和事实必须要和此时声明的粒度保持一致,所以此过程是十分精细的一环。同时要提一下,声明粒度为了保证模型的灵活,后续能满足更丰富的业务需求,建议从原子粒度(不可再拆分的粒度)角度去声明粒度。
3)确认维度
声明粒度完成以后,标示事实表的最小单位,两者的粒度是要统一的,那维度的确认也就水到渠成了,确认维度,主要是要描述事实表的出处和所处环境的维度信息。依旧举例来说明,根据上述的订单来说,一个订单的维度有什么,交易双方人员、商品和时间等信息,这就确认了维度。
4)确认事实
确认事实就是来确认这个业务过程的度量是什么,事实的度量要和声明的粒度、确认的维度的粒度保持一致。有点拗口,最后一次的举例说明,一个订单的金额是就是一个度量。而度量可分为三种类型:可加、半可加和不可加
OneData建模方法
1.数据调研
1)业务调研
数据仓库的建设,业务十分重要,调研直接关乎数据仓库是否是成功的。调研内容至少包含需求的业务流程、业务流程所属业务模块和业务模块所属业务线。
2)需求调研
需求调研简单来说就是调研运营和分析等角色的需求。通常有两个种方式去做需求调研,第一种,去和运营和分析去沟通他们的需求;第二种,分析现在已有的报表系统和数据消费需求。
2.架构设计
1)数据域划分
数据域指的是面向业务分析,将业务过程或者维度进行抽象的集合。业务过程是指一个不可拆分的行为事实。
2)构架总线矩阵
第一步、明确数据域下所有的业务过程。
第二步、明确业务过程和维度的关系,定义数据域下的业务过程和维度。
举例说明:*业务过程:下单、付款、收货 *数据域:交易域。
3)规范定义
定义指(命名规则可以后面在规划)。
4)模型设计
主要是CDM层的设计,主要包括维表、事实明细表和汇总明细表的设计。
设计原则
1、高内聚和低耦合:将业务相近或者相关、粒度相同的数据设计为一个逻辑或者物理模型;按照使用概率将数据进行分开储存
2、核心模型和扩展模型分离:核心模型包括的字段支持最常用的业务,保持核心模型的简洁
3、公共处理逻辑下沉:对公用处理逻辑进行提早下沉。
4、成本和性能的平衡:适当的冗余能换取查询性能、不适宜过度冗余浪费储存成本
5、数据可回滚:支持数据可以回滚
6、一致性:统一企业数据的口径
7、命名清晰、可理解