将大量数据从 SQL 服务器传输和转换到 Azure SQL 服务器的最佳方法。 Azure 数据工厂、HDInsight 等

Best method to transfer and transfrom large amount of data from a SQL Server to an Azure SQL Server. Azure Data Factory, HDInsight, etc

我想找到将 20 GB SQL 数据从安装在客户现场服务器客户端上的 SQL 服务器数据库传输到我们的 Azure SQL 服务器的最佳方法, Source,在性能为 200 DTUs 的 S4 上,每月 320 美元。在进行初始设置时,我们设置了一个 Azure 数据工厂,通过多个 table 副本复制超过 20 GB,例如,客户端 Table A 的内容到源 Table A,客户端 Table B 的内容到 Source Table B 等。然后我们 运行 许多 Extractor 存储过程,这些过程通过加入将来自 Source tables 的数据插入 Stage tables这些源 Table 在一起,例如,源 A 连接到源 B。之后是增量副本,但初始设置确实需要很长时间。

目前S4的复制时间在12小时左右,解压时间为4小时。以每月 2400 美元的价格将性能层级提高到 1600 个 DTU 的 S9 将时间减少到 6 小时,提取时间为 2 小时,但这带来了更高的成本。

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

我还不习惯大数据方法。谢谢大家的帮助。

Azure Data Factory Copy Activity 提供第一个 class 安全、可靠和高性能的数据加载解决方案。它使您能够每天跨各种云和本地数据复制数十 TB 的数据 stores.Copy Activity 提供易于配置和设置的高度优化的数据加载体验。

关于CopyActivity:的性能参考table table 显示单个副本中给定源和接收器对的复制吞吐量数 activity 运行 基于内部测试。

如果您希望使用 Azure 数据工厂副本可以更快地传输数据 Activity,Azure 提供了三种实现更高吞吐量的方法:

  1. 数据整合单位。数据集成单元 (DIU)(以前称为云数据移动单元或 DMU)是表示数据工厂中单个单元的功率(CPU、内存和网络资源分配的组合)的度量。您可以通过使用更多数据集成单元 (DIU) 来实现更高的吞吐量。您将根据复制操作的总时间付费。您为数据移动支付的总持续时间是 DIU 持续时间的总和。

  2. 平行复制。我们可以使用parallelCopies属性来表示并行度,你希望CopyActivity到use.For每个CopyActivity运行,Data Factory决定并行副本的数量用于将数据从源数据存储复制到目标数据存储。

  3. 暂存副本。当您将数据从源数据存储复制到接收器数据存储时,您可以选择使用 Blob 存储作为临时暂存存储。

您可以采用这些方法通过复制调整数据工厂服务的性能 Activity。

有关 Azure Data Factory Copy Activity 性能的更多详细信息,请参阅: https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-performance#data-integration-units