Data Vault模型何时成为数据仓库的正确模型?

时间:2010-06-15 19:59:40

标签: modeling data-warehouse

我最近发现了对“Data Vault Modeling”的引用作为数据仓库的模型。我以前见过的模特是Inmon和Kimball。作者提到了由于需要连接而可能出现的性能问题。它看起来像一个很好的模型,但我想知道这个问题。在线是否有任何经验报告?

2 个答案:

答案 0 :(得分:1)

您可以在我的博客上找到更多信息:http://danLinstedt.com,以及datavaultinstitute dot com上的论坛

但是要给你一个快速/简短的回答你的问题:

陷阱如下:

1)必须接受将原始数据加载到数据仓库的概念 2)了解Data Vault通常不允许“最终用户”因模型而直接访问。

可能会有更多,但好处大于缺点。

随时查看博客,可以免费注册/关注。

干杯, 丹·林斯泰特

答案 1 :(得分:1)

我们多年来一直在使用Data Vault的本土修改,称为“Link Modeling'”,它只有实体和链接;从neo4j中绘制原则,但在SQL数据库中实现。

Link Modeling和Data Vault都是与Kimball / Inmon模型完全不同的思维方式。

我在下面的评论涉及使用以下结构构建的系统:临时登台数据库,DWH,然后是DWH构建的一些marts。还有其他方法来构建DWH解决方案,但这很典型。

使用Kimball / Inmon

  • 数据在进入DWH的途中被清理,但有时会在进入登台数据库的途中应用
  • 业务规则和MDM(通常)应用于登台数据库和DWH
  • 之间
  • 这些市场通常是特定领域的

使用数据存储/链接建模

  • 数据在暂存中保持不变
  • 这些数据也传递给DWH,也是未清理的,但以实体/链接形式存储
  • 在DWH和marts之间应用数据清理,MDM和业务规则。
  • Marts基于主题领域的特定需求(与上述相同)。
  • 对于我们来说,我们经常(但并不总是)构建Kimball Star Schema风格的Mart,因为最终用户很容易理解这些数据结构。

链接建模DWH的场合,如下(使用Kimball术语来表达问题)

  • 有时会有来自用户的询问,询问为什么具有此值的特定号码?'。在传统的Kimball / Inmon中,数据在进行中被清理,无法知道原始值是什么。链接模型在DWH中具有原始数据。
  • 如果不存在链接多个维度的交易记录,并且需要能够报告完整的数据集,例如,提出问题,例如,特定经纪商销售的保险单有多少没有支付索赔交易?'。
  • 在2型Kimball或Inmon DWH中应用MDM会导致大量的2类更改记录被写入Dimensions,这些记录通常包含所有数据值,因此存在大量重复数据。使用链接模型/数据库,新的维度值将导致在链接表中创建新的类型2链接,该链接表仅具有实体表的外键。这通常在Kimball DWH中通过具有缓慢变化的维度和fast changing dimension来克服,这是一个公平的解决方法。
  • 在保险和其他需要能够生产的行业中,截止日期为'报告,事实表也将慢慢改变,类型2事实记录的类型2维度跟踪是一场噩梦。
  • 从开发的角度来看,需要仔细地将新列添加到大型Kimball维度,并且考虑反向填充很重要,但是使用链接模型,向实体添加额外的列相对简单。

在Kimball方法论中总会有这些方法,但是他们需要仔细考虑,有时候会跳过篮球。

从我们的角度来看,链接建模几乎没有什么缺点。

我与营销/制作Kimball / Inmon或Data Vault方法的任何公司都没有联系。