问题描述
我有一个在 Azure Synapse 专用池上运行的 DWH。
除了现有的每晚/每日 ETL 流程之外,我还需要并行添加另一个会降低当前实例性能的流程。该流程只需要在白天每月运行 1 周。
类似于雪花方法,是否可以设置独立 Azure Synapse 计算来处理与第一个实例相同的数据?不是数据的副本,而是相同文件中的相同数据。
或者我应该每天更改实例大小 2 次,每月更改 1 个弱实例? (需要暂停所有活动)
任何建议将不胜感激!
谢谢!
解决方法
我同意扩展或使用无服务器 SQL 池是一个不错的选择。
在实施之前,我还会评估您添加的附加(和/或现有)流程是否针对 MPP 进行了适当优化。首先验证您通过利用常见的 HASH 分布尽可能有效地共同定位数据。通常,首先为 SQL 服务器 (SMP) 编写的 ETL 需要进行一定程度的重构才能真正利用 MPP 的强大功能。
- 查看长时间运行的作业的查询计划 - 是否存在过多的数据广播或混洗?通过更新表分布进行修复
- 统计数据是否可用且是最新的?