跳转到主要内容

Data Vault建模用于构建数据仓库,同时解决了3NF(Bill Inmon)和维度(Ralph Kimball)建模的缺点。Data Vault最初由Daniel Linsteadt构思,于2000年发布。数据仓库有三种类型的实体:集线器、链路和卫星。

中心(Hub)

Hub代表公司内部的核心业务实体。这可以是客户、产品或商店之类的东西。集线器不包含有关实体的任何详细信息。它们仅包含已定义的业务密钥和一些强制的Data Vault字段。其中包括基于哈希的唯一标识符(使用业务密钥和加载日期计算)、创建记录时的时间戳以及记录来自的源系统。

不允许直接的集线器到集线器关系。换句话说,集线器不应该包含外键。我们使用链接连接集线器,稍后会看到。

链接(Link)

链接定义来自两个或多个集线器的业务密钥之间的关系。这种关系总是多对多的。就像集线器一样,链接结构不包含有关实体的上下文信息。一个链接包含两个链接的集线器和我们之前看到的相同Data Vault字段的哈希。

如果关系当前未知或数据源尚不可访问,这是可以的,因为链接在需要时很容易创建。添加新链路不会影响现有的集线器或卫星。

人造卫星(Satellite)

卫星包含有关实体的所有上下文细节。你可以把卫星想象成恒星模式中的一个维度。当数据发生变化时,必须插入一个包含变化数据的新行(始终键入2缓慢变化的维度)。这些记录通过使用散列密钥和Data Vault强制字段之一(即load_date)而彼此区分。

创建卫星时的另一个常见考虑因素是数据分类。卫星使数据能够根据分类进行拆分。例如,假设我们有一个Customer Hub表和两个附属表。一个卫星将包含来自零售商Salesforce实例的数据,而另一个卫星则包含来自零售商网店的数据。

来自新来源的数据可以被吸收到一个全新的卫星表中,而不是重新设计模型并浪费宝贵的周期来确定这些变化的影响。这种速度还使数据工程师能够与业务用户快速迭代创建新的信息集市。

哈希

2013年,Data Vault 2.0规范发布,并随之进行哈希处理。与使用标准组合键或代理键和数据比较相比,哈希提供了许多优势:

  • 查询性能:将表连接在一起时要进行的比较更少。换句话说,将单个列与哈希值进行比较比比较由多个列组成的主键更快。
  • 加载性能:可以并行加载表,因为摄取管道不需要等待在数据库中创建其他代理密钥。每个管道都可以计算所有需要的密钥。
  • 确定性:这意味着密钥可以从数据中计算出来。不需要查找。这是有利的,因为具有相同数据的任何系统都可以计算相同的密钥。

企业数据仓库

Databricks

着陆区(Landing Zone)

与其他数据仓库体系结构类似,青铜层包含每个原始数据源的表(无转换)。

原始Vault (Raw Vault)

主要的Data Vault模型(集线器、链路和卫星)位于银层中。

业务保险库(Business Vault)

Business Vault是Data Vault中的一个可选层,企业可以在其中定义常见的业务实体、计算和逻辑。这些东西不应该在每个信息集市中以不同的方式实现,它应该在业务Vault中实现一次,在信息集市中使用多次。这可能包括类型转换和删除空白。

数据集市(Data Marts)

数据以便于查询的形式存储。

结论

得益于Hub、Link和Satellite模式,Data Vault允许您轻松进行更改(例如添加数据源),而无需重新设计所有内容。数据保管库中的每一行都必须附带记录源和加载日期属性,使审计员能够将值追溯到源。

本文地址

知识星球

微信公众号

视频号