一、维度整合
数据集成体现:
命名规范统一
字段类型统一
公共代码及代码值的统一
业务含义相同的表的统一
来自不同系统的应用数据集成方式:
主从表——两个表或多个表都有的字段放在主表中,从属信息放在各自的从表中,主表主键用复合主键。
直接合并——共有信息和各有信息都放在一个表中。
不合并——使用数仓的表各自存放数据。
表级别整合的两种表现形式:
垂直整合:不同来源表包含相同数据集,存储信息不同。
水平整合:不同的来源表包含不同的数据集,不同的子集之间无交叉,也可以存在部分交叉。
二、水平拆分
如何设计维度?
方案一:将维度的不同分类实例化为不同的维度,并在主维度中保存公共属性
方案二:维护单一维度,包含所有可能的属性
三个原则:
扩展性:当源系统、业务逻辑发生变化时,能通过较少的成本快速扩展模型,保持核心模型的相对稳定性(高内聚低耦合)。
效能:在性能和成本方面取得平衡,可以牺牲一定的存储成本达到性能和逻辑的优化。
易用性:模型可理解性高,访问复杂度低。
维度水平拆分的两个依据:
维度的不同分类的属性差异情况。
业务的关联程度。
三、垂直拆分
出于扩展性、产出时间、易用性等方面考虑,设计主从维度。主维表存放稳定、产出时间早、热度高(使用频繁)的属性,从维表存放变化较快、产出时间晚、热度低的属性。
四、历史归档
归档策略1:和前台历史数据归档保持一致(适用于前台归档策略逻辑简单,且变更不频繁)
归档策略2:采用数据库日志变更方式
归档策略3:数据仓库自定义归档策略