Data Vault模型初探

(一)Data Vault简介

 

Data Vault模型自2001年起便被提出,原本用于在市场上作为表征系统的一个营销术语。Data Vault的翻译为公共基础性仓库架构,包括了建模、方法论、架构和实施四个方面的实践过程。Data Vault有1.0和2.0两个版本,1.0版本主要关注数据建模部门,而2.0部分主要关注如何提供灵活、可扩展的模式。本文所涉及内容主要为2.0版本。

 

(二)Data Vault模型组件

 

从概念层面上来看,Data Vault模型是一种中心辐射模式模型,其设计重点围绕着设计键的集成模式。这些业务键是存储在多个系统中的、针对各种信息的键,用于定位和唯一标识数据记录或数据。同时,这些业务键是相互独立的,并不依赖于其他信息。下图给出了一个Data Vault模型的例子:

Data Vault模型有三种基本的实体结构:中心表、链接表和卫星表:中心表代表了以横向方式贯穿企业的实际业务键,链接表示了企业中存在于业务键之间的关系和联系,而真正的数据仓库组件充当卫星表,存储了随着时间推移的相关业务数据。

中心表又称之为Hub组件,是一个用于记录在业务应用中常用到的业务实体键值的数据表,如员工ID,发票号、客户编号、车辆号等。表内包括几个关键字段:代理主键,即hub表的主键;业务实体主键,记录业务键值;装载时间,记录该业务键值的记录时间;数据源,记录该业务键值的来源,以追踪数据。

链接表又称之为Link组件,通过存储相关业务实体间Hub表的代理主键,以记录一对多、多对多的业务实体间关系,如员工与企业的雇佣关系,账户与客户之间的关系等。

卫星表又称之为Satellite组件,Hub表中业务主键所对应的业务描述,即业务实体的属性信息,这些信息具有时效性,随时间变化而可能产生变化,因此,Satellite组件内的记录均具有时间维,可记录实体属性的历史变化情况。

简单理解如下图所示:

 

(三)Data Vault建模的基本规则

 

Data Vault建模有一些基本的原则必须遵循,如果原则不被遵循,那么建模的方式也就无法称之为Data Vault模型了。这些规则如下:

1.业务键是按照粒度和语义内涵进行分割的,例如企业客户键和个人客户键都必须存在,或者用两个不同的中心表结构进行记录;

2.关系、事件和跨两个或者多个业务键的交叉关系都要存在在链接结构中;

3.链接结构没有开始或者结束时间,它们只是对数据到达数据仓库那一刻的关系的一种表达;

4.卫星表是按照数据类型以及变更的类别和速度进行分割的,数据类型一般都是单一的源系统。

原始的Data Vault建模不允许也不提供诸如合规性这样的理念或概念,也不能处理超类型,这些功能都需要通过Business Vault模型来实现(另一种形式的Data Vault建模,可以有一个信息交付层)。

多对多的链接结构允许Data Vault在业务发展时动态扩展,能够寻找出当前需求与历史关系的差距在哪里。例如,过去每一个客户都只有一个投资经理,但现在可能有三个或者更多的投资经理,如果数据仓库模型强制采用过去的1对1关系,那么为了支持现在的1对多关系,整个数据模型都要重新构建。而采用Data Vault模型,只需要修改客户与投资经理之间的关联关系即可。

 

 

文章的最后,给出一篇参考文章,介绍的会更详细一些:https://www.talend.com/blog/2015/03/27/what-is-the-data-vault-and-why-do-we-need-it/

 

原创文章 54 获赞 61 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gaixiaoyang123/article/details/104621499