【发布时间】:2018-09-06 18:19:47
【问题描述】:
我正在创建一个维度数据模型以在 SAP Hana 中实施。在维度建模中,维度表的代理键是强制性的,但是我被告知在 SAP Hana 中,我们不能定义代理键并且必须依赖于维度的自然键。我以前从未遇到过这种情况,尤其是不可能对 SCD 尺寸使用自然键。
任何关于在 Hana 中实现代理键的建议都会很棒。
【问题讨论】:
标签: data-modeling hana dimensional-modeling
我正在创建一个维度数据模型以在 SAP Hana 中实施。在维度建模中,维度表的代理键是强制性的,但是我被告知在 SAP Hana 中,我们不能定义代理键并且必须依赖于维度的自然键。我以前从未遇到过这种情况,尤其是不可能对 SCD 尺寸使用自然键。
任何关于在 Hana 中实现代理键的建议都会很棒。
【问题讨论】:
标签: data-modeling hana dimensional-modeling
与大多数其他 RDMBS 一样,SAP HANA 支持自动生成代理(合成)密钥。此功能的名称是IDENTITY 列。还有像SYSGUUID()这样的键值生成函数,可以生成保证全球唯一的数字。
这涵盖了当前数据库的功能,即仅代表最新信息状态的数据库。
对于您提到的示例(缓慢变化的维度,SCD,类型 2),您需要引入一个概念,即在哪个时间范围内,任何维度条目都被视为当前。您需要创建一个时态数据库。一种方法是将validFrom/validTo 字段添加到您的维度表中,并在数据加载期间相应地填充它们。
SAP HANA 通过一个名为 temporal join 的功能支持这种类型的建模,该功能允许将事实数据轻松匹配到时间维度表。
考虑到这些特性以及 SAP 自己的数据仓库解决方案 SAP BW/4 HANA 管理 SAP HANA 上缓慢变化的维度这一事实,我想说你听到的说法是不正确的。
【讨论】: