- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想了解如何在实时 DWH 环境中利用代理键。我知道他们增加了不依赖于源生成的数据来存储每个维度键的好处,并且实际上还避免了从维度的自然键中构建的复合键,例如,(prod id + cust id + time id)
但是,当我们将数据加载到事实中时,它是否不会增加必须维护(自然键、代理键)查找的复杂性。我过去 3 年一直在 BI/DW 团队工作,我们没有在我们的系统中维护任何代理键。我们利用自然键来构建我们的数据集市。一个示例用例是存储在交易系统中的收入数据,该数据使用来自源的相同自然键以客户、产品、时间段粒度加载到仓库中。我们使用相同的方式加入相应的维度来构建 STAR 模式。
我认为在我们的案例中有意义的主要原因是企业使用 EDW 数据在帐户级别对数据进行微观分析,而不仅仅是趋势分析。在我们使用自然键实现的情况下,我们需要维护数据完整性。我想了解其他 DW 环境是如何工作的。您如何在系统中利用代理键或自然键。
谢谢!
最佳答案
原因之一是保持并能够比较历史变化。
例如,如果您的产品属性之一发生更改,并且您想查看和比较属性更改前后的收入,您将如何在不使用代理产品 key 的情况下做到这一点?使用自然键只会在 ETL 时覆盖旧值。
查找不必非常复杂来维护。大多数 ETL 工具都支持这一点,并且通常有一些内置的缓存机制来缓存查找值。
另外,当您说“实时”数据仓库时,您是什么意思?您使用的是 ROLAP、DirectQuery 或类似的东西吗?如果是这样,您可能会直接在 OLTP 系统上构建您的集市,并在某些语义模型中进行反规范化。然后您可以使用您的自然键,因为没有传统的 ETL/数据仓库来进行查找和存储您的代理键。
最后,粒度与您使用的 key 类型无关。
关于data-warehouse - 数据仓库中的代理键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43696311/
我正在尝试寻找除“日期维度”示例之外的半加性事实的实时示例。 即可以总结除时间以外的所有维度的措施。 我正在寻找半加性事实示例,其中无法跨时间以外的维度汇总度量。 提前致谢。 -灰 最佳答案 账户余额
我正在尝试为我的一个项目(销售订单)设计数据仓库的维度建模。我是这个概念的新手。 到目前为止,我可以理解产品、客户和日期可以存储在维度表中,而订单信息将存储在事实表中。 Date_dimension
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我正在使用 Kimball 的方法为数据仓库项目进行我的第一个维度建模任务。当我准备模型并考虑物理对象时,我想知道推荐的数据库对象命名方案是什么。我们将使用Oracle,目前我们没有任何标准。任何帮助
我想知道为什么以及何时需要数据仓库,我的意思是数据仓库的主要目标是从多维 View 提供报告,但在某些情况下,有一种方法可以使用 DBMS 构建报告,它可以生成报告从多维来看,关于数据库的大小,大小可
我知道在数据仓库维度中使用代理键是有充分理由的。 尽管如此,我还是不明白如何将它们链接到我的事实表的外键。 在事实表中,我只有在 ETL 期间提取的自然键。原始数据库表中不存在代理键。 对此有何建议?
是否有任何情况下我可以有文本字段,例如事实表中的描述? 我目前有一个 session 事件事实表(粒度:每次 session 行),其中包含多个维度,例如日期、客户、地点等。我需要将 session
我用 2 个事实表和 16 个维度表和 4 个公共(public)维度表制作了一个事实星座模式。需要对维度表之一进行规范化,因为来自数据源的数据可以具有可变数量的行。我还能称它为在维度表中有分支的事实
我想了解如何在实时 DWH 环境中利用代理键。我知道他们增加了不依赖于源生成的数据来存储每个维度键的好处,并且实际上还避免了从维度的自然键中构建的复合键,例如,(prod id + cust id +
我有一个能源消耗事实表如下: f_meter_data: utc_calendar_id local_calendar_id meter_id reading timestamp 日历表是按照 Kim
我有一个带有 8 个外键(引用 8 个维度)的事实表,但即使所有八个键的组合也不能唯一标识一行。我是否需要从原始数据中添加另一个属性(即“project-id”属性,它对任何东西都没有用),以便我可以
借助 MongoDB、CouchDB 和相关技术,我们可以加快查询速度,这是否仍然有效? “交易数据的副本,经过专门重组以供查询和分析。” (R. Kimball 数据仓库工具包,1996 我的意思是
在数据仓库中,我们有慢慢改变尺寸的概念。我只是想知道为什么不存在“缓慢/快速更改FACT”的行话,因为可以使用相同的Type1,Type 2度量来跟踪FACT表中的更改。 最佳答案 根据DW神,FAC
我正在尝试设计我的第一个数据集市,其中包含来自 Excel 表的星型架构,其中包含有关帮助台服务调用的信息,该表包含 33 个字段,其中包括不同的信息,我无法识别事实表,因为我想做稍后根据不同的 KP
我被要求对星图进行建模。 我有 3 个维度: 日期(日、月、年、周、季度、...) 位置(500 个不同的值) 产品(80k 种不同的产品) 主要问题是一天结束时每个地方存储了多少元素(产品)。 经过
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在建立一个数据仓库。每个事实都有它的timestamp。我需要按天,月,季度但按小时创建报告。查看示例,我看到日期倾向于保存在维表中。 (来源:etl-tools.info) 但是我认为,时间没有
我是数据仓库的新手。首先,我要比将数据仓库工具包的副本精确到邮箱(蜗牛邮件:P)要精确得多。但是我已经在网上找到了所有这些东西。 但是,当您似乎在DW中拥有多个事实时,该怎么办呢?就我而言(保险),我
需要对维度建模或星型模式有所了解。 通常,我们在设计数据仓库时都会有事实表和维度表。 但是,在事实表中嵌入维度确实有意义。特别是对于没有其他属性并且很少更改其值的简单维度。 在事实表中有维度会使查询运
添加新维度(一个全新的表,而不是现有维度表的新行)的标准做法是什么?难道您不必重做整个事实表,添加一个新字段,然后根据新维度表中的代理键填充它吗?有没有更简单的方法来做到这一点? 最佳答案 只要新维度
我是一名优秀的程序员,十分优秀!