DataVault模型实践
1.背景
数仓建模方法有很多种,各有千秋,可能比较常用的是维度建模或者大宽表的方式进行建模的比较多,DataVault模型用的比较少,特此通过例子来实践加深理解一下。
2.DataVault定义
Data Vault是一种数据仓库建模方法,最早由Dan Linstedt在20世纪90年代提出,主要应用于企业级数据仓库建模。不同于三范式数据仓库模型、维度模型,Data Vault模型主要用于存储来自多个业务系统的完整的历史数据,是一种中心辐射式模型。它不区分数据在业务层面的准确与否,装载数据也不做验证和清洗,因此,Data Vault模型可用于跟踪所有数据的来源。
它有三种表结构:
- 中心表——Hub唯一业务键的列表,唯一标识企业实际业务,企业的业务主体集合。
- 链接表——Link表示中心表之间的关系,通过链接表串联整个企业的业务关联关系。
- 卫星表——Satellite历史的描述性数据,数仓中数据的真正载体。
3.DataVault建模例子
以学生选课的例子来进行讲解,设计的相关应该如下。
中心表
hub_student-hub(学生实体)