代码之家  ›  专栏  ›  技术社区  ›  Stephan Eggermont

数据仓库模型是什么时候适合数据仓库的模型?

  •  2
  • Stephan Eggermont  · 技术社区  · 14 年前

    我最近发现了一个关于 Data Vault Modeling '作为数据仓库的模型。我以前见过的模特是因蒙和金博尔。作者提到了由于需要连接而可能出现的性能问题。它看起来是一个不错的模型,但我想知道的是Gotcha的。有没有在线经验报告?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Dan Linstedt    14 年前

    你可以在我的博客上找到更多的信息: http://danLinstedt.com 以及在datavaultsinstitute.com的论坛上

    但要快速/简短地回答您的问题:

    Gotchas如下:

    1)必须接受将原始数据加载到数据仓库的概念 2)要知道,由于该模型,数据保险库通常不允许“最终用户”直接访问。

    可能还有一些,但好处大于缺点。

    你可以随意查看博客,注册/跟踪都是免费的。

    干杯, 丹林斯泰特

        2
  •  1
  •   Marcus D    7 年前

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

    对于Kimball/Inmon模型来说,链接建模和数据仓库都是非常不同的思维方式。

    下面我的评论涉及到一个使用以下结构构建的系统:一个临时临时临时数据库、一个DWH,然后从DWH构建多个Marts。还有其他方法来构建DWH解决方案,但这是非常典型的。

    与金球/因蒙

    • 数据在进入DWH的过程中被清除,但有时在进入临时数据库的过程中被应用。
    • 业务规则和 MDM 通常在分段数据库和DWH之间应用
    • 火星通常是特定的主题区域

    带数据存储库/链接建模

    • 数据在转移中未更改
    • 这些数据被传递给DWH,也没有被清除,但是存储在实体/链接表单中。
    • 数据清理、MDM和业务规则在DWH和MART之间应用。
    • 火星是基于特定主题领域的需求(如上所述)。
    • 对于我们来说,我们经常(但不总是)构建Kimball-Star模式风格的Mart,因为最终用户很容易理解这些模型的数据结构。

    这个 当一个链接模型化的dwh成为它自己的时候 ,以下是(使用Kimball术语表示问题)

    • 有时,用户会询问“为什么某个特定数字具有此值?”.在传统的Kimball/Inmon中,数据在进入过程中被清除,没有办法知道原始值是什么。链接模型在DWH中具有原始数据。
    • 当不存在链接多个维度的交易记录时,并且需要能够报告完整的数据集,例如,询问“特定经纪人销售的保险单有多少没有支付索赔交易?”.
    • MDM在2型Kimball或Inmon DWH中的应用会导致大量2型变更记录被写入维度,这些维度通常包含所有数据值,因此存在大量重复数据。对于链接模型/数据保管库,新的维度值只会导致在链接表中创建新的类型2链接,而链接表只有实体表的外键。在Kimball DWH中,这通常是通过具有缓慢变化的尺寸和 fast changing dimension 这是一个公平的解决方法。
    • 在保险业和其他需要生成“截至目前”报告的行业中,事实表也将缓慢变化,对2类事实记录进行2类维度跟踪是一场噩梦。
    • 从开发的角度来看,在大的Kimball维中添加一个新的列需要仔细进行,考虑到后填充是很重要的,但是对于链接模型,向实体添加一个额外的列相对来说是微不足道的。

    在Kimball方法论中,总有一些方法可以解决这些问题,但它们需要仔细考虑,有时还需要一些跳跃。

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

    我与任何营销/生产Kimball/Inmon或数据存储方法的公司都没有关系。