【发布时间】:2021-03-26 18:37:09
【问题描述】:
我想以一致的方式将数据存储在 DWH 中。每周我都需要从本地 SQLDB 加载 AzureDW 中的数据。 问题是我在每周都会得到的表中有主键。表格示例
我想设计成所有 4 条记录都存储在 DW 中。
我应该使用代理键还是有其他更好的方法?
【问题讨论】:
标签: azure azure-sql-data-warehouse
我想以一致的方式将数据存储在 DWH 中。每周我都需要从本地 SQLDB 加载 AzureDW 中的数据。 问题是我在每周都会得到的表中有主键。表格示例
我想设计成所有 4 条记录都存储在 DW 中。
我应该使用代理键还是有其他更好的方法?
【问题讨论】:
标签: azure azure-sql-data-warehouse
如果这是暂存的源数据,我不会添加代理键,通常您只在维度模型中创建代理键。
如果每次运行进程时您的数据量都以半指数增长(不太可能),我会作为 CTAS 进行处理,否则我会执行 插入 dbo.table SELECT *, SYSUTCDATETIME() AS RECORD_INSERT_DATE FROM dbo.table_external_table
因此,您只需插入所有传入数据并为插入日期添加时间戳。您的 NK 和时间戳成为您在桌子上的唯一键。
如果您的要求涉及轻松返回记录的当前版本,您可以使用 typeII SCD 模式为记录的最新版本设置结束日期,并为新版本的记录设置开始日期 + 活动标志。
【讨论】: