1.市场常见的数据仓库建模方法:
1.1 市场做法:
数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。
1.ER模型建模方法:
数据仓库中的3NF与OLTP系统中的3NF的区别在于,它是站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系的抽象。采用ER模型建设数据仓库模型的出发点是整合数据,将各系统数据以整个企业角度按主题进行相似性组合和合并。建模步骤:
1.高层模型:一个高度抽象的模型,描述主要的主题以及主题间的关系,用于描述企业的业务总体概况。
2.中层模型:在高层模型的基础上,细化主题的数据项。
3.物理模型:考虑物理存储,同时基于性能和平台特点进行物理属性的设计,也可能做一些表的合并、分区的设计等。
2.维度建模方法:
选择需要进行分析决策的业务过程。选择粒度。识别维表。选择事实。
3.Data Vault模型:
Data Vault是Dan Linstedt发起创建的一种模型,它是ER模型的衍生,其设计的出发点也是为了实现数据的整合,但不能直接用于数据分析决策。Data Vault包含以下部分:
Hub :是企业的核心业务实体。
Link :代表Hub之间的关系。
Satellite :是Hub的详细描述内容,一个Hub可以有多个Satellite。
Data Vault模型比ER模型更容易设计和产出,它的ETL加工可实现配置化。
4.Anchor对Data Vault模型做了进一步规范化处理,其核心思想是所有的扩展只是添加而不是修改,基本变成了k-v结构化模型。
1.2 阿里巴巴做法:
第一代数据仓库建立在oracle之上,这时候架构只有2层,分别是ODS和DSS。其中ODS是直接获取源库数据。
第二代数据仓库,引入了当时 MPP架构体系的Greenplum,通过一些模型技术改变烟囱式的开发模型 ,消除冗余 ,提升数据的一致性。采用比较流行的ER模型+维度模型方式,数据分层:ODL(操作数据层) +BDL(基础数据层) +IDL(接口数据层) +ADL(应用数据层)。
第三代数据仓库:以 Hadoop 为代表的分布式存储计算平台快速发展,