代理键在数据仓库层有什么好处?

What will be benefit of surrogate key in data warehosue layer?

OLTP 源 table 有代理键(数字值)和自然键(字母数字值),那么我可以跳过在目标 OLAP 数据库(维度模型)中为维度 [=16= 创建代理键吗? ]s。 我知道我需要事实 tables 的代理键作为事实 table 的唯一键,因为事实 table 将是一个大集合,我需要一个带有数值的列作为主键。 我正在加入多个源 tables 以将数据填充到一维目标中,然后我想知道使用驱动 table 的唯一 ID(数值)(此 ID 继承自 OLTP 源)作为主键,前提是结果记录的数据粒度在驱动tables的id级别(结果记录是主源驱动table与其他源tables连接后的记录)。

代理键在数据仓库层有什么好处?

谢谢, 罗杰尼什

关闭循环,因为 Koushik Roy 已经回答了这个问题。 添加其他参考资料,希望对社区有所帮助: https://www.mssqltips.com/sqlservertip/5431/surrogate-key-vs-natural-key-differences-and-when-to-use-in-sql-server/

https://dwgeek.com/data-warehouse-surrogate-key-design-advantages-disadvantages.html/

基本上,代理键是一种人工键,用于替代数据仓库表中定义的自然键 (NK)。我们可以使用自然键或业务键作为表的主键。

这些是代理键的一些好处

  1. 代理键有助于保护 Datawarehouse 系统免受意外
    行政变动
  2. 代理键允许 Datawarehouse 系统集成相同的数据。

  3. 代理键使您能够将行添加到不包含的维度 存在于源系统

  4. 代理键提供了跟踪维度变化的方法 随时间变化的属性
  5. 整数代理键可以提高查询和处理性能 与更大的字符或 GUID 键相比