从Azure SQL数据库迁移到Azure Synapse

问题描述

我们当前正在将数据从应用程序数据库提取到Azure sql数据库中。现在的大小约为600 GB(主要分配给3个事实表,其余表是非常小的主数据),并且在40个vCore上运行(我们在报告时经常使用它,因此需要大量数据) vCores)。

我目前面临的一些困难:

  1. 从源到接收器的数据复制通常需要很长时间。我们正在使用的方法delete本月的所有记录,然后copy来自应用程序数据库的本月数据。写入接收器通常也要花费很多时间(由于我相信事实表中的索引)。

  2. 每当有人提出大查询时,高数据I / O。

在此希望有人可以阐明如何使设置更快地工作。

谢谢!

解决方法

尽管我需要更多信息,但我认为我可以分享一些建议。 当您提到大型查询需要更多时间时,是否检查了查询并确保索引在所需的列上并且它们会定期更新?看来您有3个表并有大量数据,查询是否很慢在所有三个问题上(如果您是我,我将尝试将问题分解为较小的问题,并对每个问题进行调查)

在复制部分,在复制之前,您必须选择数据,因此我们将不得不改善上面提到的查询性能。您如何复制数据?因为我看到了ADF标签,所以我假设它是ADF。您是否按顺序复制数据?我的意思是将数据复制到BigTable1,然后复制BigTable2,然后复制BigTable 3?您可以探索并行复制数据的可能性。我不确定您是如何在ADF中实现逻辑的,但是三个以下的副本主动性将达到目的。

在每个复制活动中,您可以选择设置并行度以及batchcount,我建议您看一下。

性能问题很难解决,除非您可以访问数据:)让我知道它的运行情况。

https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-performance-features#parallel-copy

谢谢

Himanshu