Azure synapse(DWH)中的关系

Azure synapse(DWH)中的关系,azure,azure-synapse,azure-sql-data-warehouse,parallel-data-warehouse,Azure,Azure Synapse,Azure Sql Data Warehouse,Parallel Data Warehouse,我目前在Azure synapse DWH工作,我有一些理论问题: 如何在表(Dim和Fact)之间创建关系,以及如果我想创建这些关系,会有什么影响 我读到要创建主键,我需要设置一个非聚集表,但这意味着什么?Azure Synapse Analytics(ASA)有三个引擎: 无服务器SQL池(was SQL随需应变) 专用SQL池(Azure SQL数据仓库的下一步) 阿帕奇火花池 到目前为止,这些都不支持数据库关系。我怀疑您指的是专用SQL池,只是为了确认它不支持外键语法。关系更像是一个

我目前在Azure synapse DWH工作,我有一些理论问题:

如何在表(Dim和Fact)之间创建关系,以及如果我想创建这些关系,会有什么影响

我读到要创建主键,我需要设置一个非聚集表,但这意味着什么?

Azure Synapse Analytics(ASA)有三个引擎:

  • 无服务器SQL池(was SQL随需应变)
  • 专用SQL池(Azure SQL数据仓库的下一步)
  • 阿帕奇火花池
到目前为止,这些都不支持数据库关系。我怀疑您指的是专用SQL池,只是为了确认它不支持
外键
语法。关系更像是一个OLTP概念,在大数据平台中并不常见,而ASA就是这样

因此,您可以选择在下游或导入仓库时强制执行这些关系。一种常见的方法是识别未知值,并在导入时用-1/未知值替换它们。这将确保键列中没有空值

此外,在Azure Analysis Services表格模型或Power BI模型中加强下游关系


如果你真的需要关系,那么取决于你的数据量,你可以考虑Azure SQL数据库,它支持数据量高达4TB,同时提供了很大的压缩。大多数纯DW系统都有用户强制执行的约束,以最小化磁盘存储需求。使用SQL DB+Hyperscale和Synapse SQL可以做的事情有重叠,因此可能有两个系统都可以使用的情况,但您可以根据自己的需要和类似的功能差异进行选择。