【问题标题】:Relationships in Azure synapse (DWH)Azure 突触 (DWH) 中的关系
【发布时间】:2021-04-05 00:17:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: azure azure-synapse azure-sql-data-warehouse parallel-data-warehouse


    【解决方案1】:

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

    • 无服务器 SQL 池(按需提供 SQL)
    • 专用 SQL 池(Azure SQL 数据仓库的下一步)
    • Apache Spark 池

    目前这些都不支持数据库关系,就像今天一样。我怀疑您的意思是专用 SQL 池,只是为了确认它不支持 FOREIGN KEY 语法。关系更像是一个 OLTP 概念,在 ASA 那样的大数据平台中并不常见。

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

    此外,在 Azure 分析服务表格模型或 Power BI 模型等下游强制实施您的关系。

    如果您确实需要关系,那么根据您的数据量,您可能会考虑使用 Azure SQL 数据库,它支持高达 4TB 的数据量以及提供出色压缩的列存储索引。

    【讨论】:

    • 对于超大规模,SQL DB 支持 > 4TB。大多数纯 DW 系统都有用户强制约束以最小化磁盘存储需求。您可以使用 SQL DB + Hyperscale 和 Synapse SQL 执行的操作存在重叠,因此可能存在适用于两个系统的情况,但您可以根据自己的需求和功能差异进行选择。
    猜你喜欢
    • 1970-01-01
    • 2020-02-07
    • 2021-07-21
    • 2021-11-06
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 2022-01-21
    • 2016-11-20
    相关资源
    最近更新 更多