我想找到最好的方法,将20 GB的SQL数据从安装在客户现场服务器Client上的SQL Server数据库传输到我们的Azure SQL Server Source(在S4上具有200 DTUs性能的源),每月支付320美元。进行初始设置时,我们设置了一个Azure数据工厂,该数据工厂通过多个表副本复制了20 GB,例如,客户端表A的内容到源表A,客户端表B的内容到源表B,等等。然后我们运行许多提取器存储过程,这些过程通过将源表中的数据连接在一起将源表中的数据插入到舞台表中,例如,源A与源B的连接。此后是增量副本,但是初始设置确实要花很长时间。

当前,在S4上的复制时间约为12小时,而提取时间为4小时。以每月2400美元的价格将性能等级提高到1600 DTU的S9,将提取时间缩短为6个小时(提取时间为2个小时),但这会带来更高的成本。

我想知道是否还有其他Azure方法。与将Azure SQL DB扩展到S9或更高版本相比,使用Hadoop或Spark设置HDInsight群集是否在成本上更高效? S9为31天,每月$ 2400,每小时$ 3.28。 Azure HDInsight Clusters of Memorized Optimized Nodes of a D14 v2 instance每小时$ 1.496,因此它会比S9便宜。但是,如何比较性能。复制过程会更快还是提取过程会更快?

我还不习惯大数据方法。感谢您的所有帮助。

最佳答案

Azure数据工厂复制 Activity 提供了一流的安全,可靠和高性能的数据加载解决方案。它使您每天可以在各种云和本地数据存储中复制数十TB的数据。CopyActivity提供了高度优化的数据加载体验,易于配置和设置。

您可以看到有关复制 Activity 的性能引用表:apache-spark - 从SQL Server传输和转换大量数据到Azure SQL Server的最佳方法。 Azure数据工厂,HDInsight等-LMLPHP
下表显示了基于内部测试运行的单个复制 Activity 中给定源对和宿对的复制吞吐量(MBps)。

如果您希望通过使用Azure数据工厂复制 Activity 更快地传输数据,Azure提供了三种方法来实现更高的吞吐量:

  • 数据集成单元。数据集成单元(DIU)(以前称为云数据移动单元或DMU)是一种度量,表示数据工厂中单个单元的功能(CPU,内存和网络资源分配的组合)。您可以通过使用更多的数据集成单元(DIU)来实现更高的吞吐量。您需要根据复制操作的总时间进行收费。您需要为数据移动支付的总时长是各个DIU的时长之和。
  • 并行复制。我们可以使用parallelCopies属性指示要使用复制 Activity 的并行性。对于每次运行的复制 Activity ,数据工厂都会确定用于将数据从源数据存储复制到目标数据存储的并行副本数。
  • 分阶段复制。当您将数据从源数据存储复制到接收器数据存储时,您可能会选择使用Blob存储作为临时登台存储。

  • 您可以采用以下方法通过“复制 Activity ”来调整Data Factory服务的性能。

    有关Azure数据工厂复制 liveness 能的详细信息,请参阅:
    https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-performance#data-integration-units

    关于apache-spark - 从SQL Server传输和转换大量数据到Azure SQL Server的最佳方法。 Azure数据工厂,HDInsight等,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53808469/

    10-11 02:56
    查看更多