DATA VAULT 的开发以及向 BUSINESS DATA VAULT 的过渡

在上一篇文章中,我讨论了 DATA VAULT 的基础知识,描述了 DATA VAULT 的主要元素及其用途。 DATA VAULT的话题到此还不能说完,有必要谈谈DATA VAULT下一步的演变。

在本文中,我将重点关注 DATA VAULT 的开发以及向 BUSINESS DATA VAULT 或简称 BUSINESS VAULT 的过渡。

Business DATA VAULT 出现的原因

应该指出的是,DATA VAULT 虽然具有一定的优势,但也并非没有缺点。 这些缺点之一是编写分析查询的困难。 查询有大量的JOIN,代码又长又繁琐。 此外,进入 DATA VAULT 的数据不会经过任何转换,因此,从业务角度来看,纯粹形式的 DATA VAULT 没有绝对价值。

为了消除这些缺点,DATA VAULT 方法进行了扩展,添加了以下元素:

  • PIT(时间点)表;
  • 桥台;
  • 预定义的推导。

让我们仔细看看这些元素的用途。

坑表

通常,一个业务实体 (HUB) 可能包含具有不同更新率的数据,例如,如果我们谈论表征一个人的数据,我们可以说有关电话号码、地址或电子邮件的信息的更新率高于以下内容:全名、护照详细信息、婚姻状况或性别。

因此,在确定卫星时,应注意其更新频率。 它为什么如此重要?

如果将具有不同更新率的属性存储在同一个表中,则每次更新最频繁更改的属性时,都必须向表中添加一行。 结果是磁盘空间增加和查询执行时间增加。

现在我们已经按照更新频率划分了卫星,并且可以独立加载数据,我们应该确保我们可以接收到最新的数据。 更好的是,不使用不必要的 JOIN。

让我解释一下,例如,您需要从具有不同更新速率的卫星获取当前(根据上次更新的日期)信息。 为此,您不仅需要进行 JOIN,还需要创建多个嵌套查询(针对包含信息的每个卫星)并选择最大更新日期 MAX(更新日期)。 随着每一个新的 JOIN,这样的代码都会增长并且很快变得难以理解。

PIT 表旨在简化此类查询;PIT 表在将新数据写入 DATA VAULT 的同时被填充。 坑表:

DATA VAULT 的开发以及向 BUSINESS DATA VAULT 的过渡

因此,我们掌握了每个时间点所有卫星数据的相关性信息。 使用 JOIN 到 PIT 表,我们可以完全消除嵌套查询,当然条件是 PIT 每天都被填满且没有间隙。 即使 PIT 中存在间隙,您也只需使用对 PIT 本身的一个嵌套查询即可获取最新数据。 一个嵌套查询的处理速度比对每颗卫星的嵌套查询的处理速度更快。

BRIDGE 表还用于简化分析查询。 然而,与 PIT 不同的是一种简化和加速各种集线器、链路及其卫星之间请求的方法。

该表包含所有卫星的所有必要键,这些键经常在查询中使用。 另外,如果需要,如果需要密钥名称进行分析,则可以在散列业务密钥中补充文本形式的密钥。

事实是,如果不使用 BRIDGE,在接收属于不同集线器的卫星中的数据的过程中,不仅需要对卫星本身进行 JOIN,还需要对连接集线器的链路进行 JOIN。

BRIDGE 的存在或不存在由存储配置和优化查询执行速度的需要决定。 很难想出一个通用的 BRIGE 例子。

预定义的推导

另一种使我们更接近业务数据库的对象是包含预先计算的指标的表格。 此类表对于业务确实非常重要;它们包含根据给定规则聚合的信息,并且使其相对容易访问。

从架构上讲,预定义衍生品只不过是某个中心的另一颗卫星。 与常规卫星一样,它包含业务密钥和卫星中记录的创建日期。 然而,相似之处就到此为止。 这种“专业”卫星的属性的进一步组成是由商业用户根据最流行的预先计算的指标来确定的。

例如,包含员工信息的中心可能包括带有以下指示器的卫星:

  • 最低工资;
  • 最高工资;
  • 平均工资;
  • 应计工资等的累计总额

在同一中心的 PIT 表中包含 PREDEFINED DERIVATIONS 是合乎逻辑的,然后您可以轻松获取特定选定日期的员工的数据切片。

结论

实践表明,业务用户使用 DATA VAULT 存在一定困难,原因如下:

  • 查询代码复杂、繁琐;
  • JOIN 的丰富度会影响查询的性能;
  • 编写分析查询需要出色的存储设计知识。

为了简化数据访问,DATA VAULT 通过附加对象进行了扩展:

  • PIT(时间点)表;
  • 桥台;
  • 预定义的推导。

下一个 文章 在我看来,我打算告诉那些从事 BI 工作的人最有趣的事情。 我将介绍基于 DATA VAULT 创建事实表和维度表的方法。

文章的材料基于:

  • 发表 Kenta Graziano,除了详细描述外,还包含模型图;
  • 书籍:《使用 DATA VAULT 2.0 构建可扩展的数据仓库》;
  • Статья 数据仓库基础知识.

来源: habr.com

添加评论