Data VauIt建模理论及应用场景

DataVault模型

  • DataVault是在ER模型的基础上衍生而来的,模型设计的初衷是有效的组织基础数据层,使之易扩展、灵活的应对业务变化,同时强调历史性、可追溯性和原子性,不要求对数据进行过度的一致性处理;并非针对分析场景所设计。
  • Data Vault模型是一种中心辐射式模型,其设计重点围绕着业务键的集成模式。这些业务键是存储在多个系统中的、针对各种信息的键,用于定位和唯一标识记录或数据。

包含3种基本结构:

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

中心表——Hub

只包含业务主键信息以及数据装载的描述,不包含非键值以外的业务数据属性本身;比如中心表商品,在Data Vault下的设计:


中心表一般都会在创建一个主键Hub_商品ID,与业务商品ID无关,一般称为代理键或者附加键。
PS: 大家会发现这张中心表中没有商品属性信息;商品属性以及描述信息,都属于卫星表的范畴。

 

链接表——Link

链接表用来描述中心表间的关联关系,亦不包含业务键值以及数据装载描述以外的任何非键值数据,比如:学生授课链接表,其设计:

 

 

与授课相关的课时数等描述信息,都属于卫星表的范畴。

卫星表——Satellite

数仓中数据的主要载体,包括对链接表、中心表的数据描述、数值度量等信息,中心表商品、订单明细的卫星表分别如下:

 

案例:

对上一篇已经讨论到的学生选课ER模型,进行Data Vault模型重构,原模型:

 

原则:

  1. 梳理所有主要实体。
  2. 将有入边的实体定义为中心表
  3. 将没有入边且只有一个出边的表定义为中心表
  4. 源系统没有入边且有两条或以上出边的表定义为链接表
  5. 将外键关系定义为链接表

按Data Vault改造后的大概模型

  • hub——中心表

  • link——链接表

  • sat——卫星表

     

  • Data Vault模型更容易设计,ETL过程中更易配置化实现。

  • Hub想象成人体的骨架,那么Link就是连接骨架的韧带组织,而satelite就是骨架上的血肉。

  • Data Vault是对ER模型更近一步的规范化,由于对数据的拆解和更偏向于基础数据组织,在处理分析类场景时相对复杂,适合数仓底层构建,目前实际应用场景较少。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章