如何在 Azure 数据仓库中设计 Dimension 和 Fact table?

How to design Dimension and Fact table in Azure Data Warehouse?

我正在努力将 SQL 服务器数据库迁移到 Azure 数据仓库。我在早期的数据库中有维度表,这些表具有暗淡的 ID(基本上是整数值),并且在事实表中引用了这些维度表以便于获取数据。 这些 dim id 是使用标识列生成的。

现在,在 Azure 数据仓库中,标识列的值是随机生成的,我不确定是否要在这里使用这些 dim id。如果不使用这些 ID,则可以使用文本列,但这会增加查找时间,进而影响性能。

那么,谁能建议我应该如何在 Azure 数据仓库中处理这些暗淡的 ID?

此致,

普拉蒂克

您可以在 Azure SQL 数据仓库中使用标识列。这些值不是 "random",它们的排序方式与您在 SQL 服务器的 SMP 版本上看到的排序方式不同。

https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-identity

如果您更喜欢其他方法,可以使用这样的计算在行插入期间分配代理项键:

cast((select max(dim_sk) from dw.dim_xxx) + row_number() over (order by getdate()) as bigint) as dim_sk