首页 > 解决方案 > 使用 Azure Synapse 在 Azure 数据平台中的 AAS 表格模型或 SSAS 多维之间的最佳方法是什么

问题描述

我们拥有本地 SQL Server Analysis Services (SSAS) 多维度,其中包含大量自定义复杂计算、大量度量值组、具有更多功能的复杂模型。我们每天处理数十亿行,并拥有自定义 Excel 插件来连接自定义数据透视表以及用于创建报告、运行临时查询等的标准数据透视表功能等等。

以下是 Azure 中可能的解决方案

方法 1:Azure Synapse、SSAS 多维 (ROLAP)、Excel 和 Power BI。请注意,SSAS 多维将作为托管在 VM 中的 IaaS 运行。Desktop excel/excel 365 将能够连接和 Cloud Power BI。

方法 2:Azure Synapse、Azure Analysis Services 表格模型直接查询、Excel 和 Power BI。Desktop excel/excel 365 将能够连接和 Cloud Power BI。

问题:基于庞大的数据量、处理、复杂的逻辑、维护和自定义计算,会采用哪种方式?
用户能否通过桌面 Excel 或 Excel 365 访问这些基于云的数据多维数据集,特别是 SSAS 多维?在直接查询模式下,ROLAP 与 DAX 的性能如何?移动和处理大量数据的成本是多少?

标签: azuressasssas-tabularazure-synapse

解决方案


对于 12TB 的数据,您可能会看到 500 - 1200GB 的压缩表格模型大小,除非您可以通过不保留所有历史记录、从维度中删除未使用的行和跳过不必要的列来减小模型大小。即使对于仅每周处理一次的表格模型,这也是非常大的。所以我同意进口模型不实用。

我的建议是表格模型。ROLAP 多维模型仍然需要 MOLAP 维度才能正常执行,而您的维度大小和刷新频率将使这变得不切实际。

因此,在 DirectQuery 模式下的 Azure Analysis Services 中的表格模型应该可以工作。如果您优化 Synapse,您应该有望获得 10-60 秒范围内的查询响应时间。如果你做得很棒,你可能会更快地完成它。但性能在很大程度上取决于 Synapse。因此,物化视图、启用查询结果集缓存、确保正确分布和确保高质量的列存储压缩将很重要。如果你不是 Synapse 和 Azure 分析服务方面的专家,请找人帮忙。

在 Azure Analysis Services 中,确保标记关系以强制执行引用完整性,这会将 SQL 查询更改为有助于提高性能的内部连接。并保持模型和计算尽可能简单,因为你的模型太大了。

如果您希望为先前预期的可视化提供非常快速的交互式仪表板性能,另一种选择是使用 Power BI Premium 而不是 Azure Analysis Services 并执行复合模型。这允许您创建一些较小的 agg 表,这些表被导入并以预期的粒度快速响应查询。但随后其他查询将“错过” aggs 并针对 Synapse 运行 SQL 查询。Phil Seamark 很好地描述了 Power BI 中的聚合


推荐阅读