DataVault模型实践

发布时间 2023-07-14 09:11:38作者: 人不疯狂枉一生

1.背景    

    数仓建模方法有很多种,各有千秋,可能比较常用的是维度建模或者大宽表的方式进行建模的比较多,DataVault模型用的比较少,特此通过例子来实践加深理解一下。

 

2.DataVault定义

    Data Vault是一种数据仓库建模方法,最早由Dan Linstedt在20世纪90年代提出,主要应用于企业级数据仓库建模。不同于三范式数据仓库模型、维度模型,Data Vault模型主要用于存储来自多个业务系统的完整的历史数据,是一种中心辐射式模型。它不区分数据在业务层面的准确与否,装载数据也不做验证和清洗,因此,Data Vault模型可用于跟踪所有数据的来源。

    它有三种表结构:

  • 中心表——Hub唯一业务键的列表,唯一标识企业实际业务,企业的业务主体集合。
  • 链接表——Link表示中心表之间的关系,通过链接表串联整个企业的业务关联关系。
  • 卫星表——Satellite历史的描述性数据,数仓中数据的真正载体。

3.DataVault建模例子

    以学生选课的例子来进行讲解,设计的相关应该如下。

中心表

hub_student-hub(学生实体)