【问题标题】:Best method to transfer and transfrom large amount of data from a SQL Server to an Azure SQL Server. Azure Data Factory, HDInsight, etc将大量数据从 SQL Server 传输和转换到 Azure SQL Server 的最佳方法。 Azure 数据工厂、HDInsight 等
【发布时间】:2018-12-18 12:57:41
【问题描述】:

我想找到将 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 集群的成本效率更高吗?每月 2400 美元的 S9 31 天是每小时 3.28 美元。 Azure HDInsight Clusters of Memorized Optimized Nodes of a D14 v2 instance 每小时 1.496 美元,因此它比 S9 便宜。但是,它在性能方面如何比较。复制过程会更快还是提取过程会更快?

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

【问题讨论】:

  • 如果您想在此处调查大数据方法,请使用 Azure Databricks。它具有 Spark 和对按需集群的一流支持。您可以使用 ADF 加载 Azure Blob 存储,并在加载 SQL Server 之前尝试使用 Spark SQL 进行连接。
  • 您是否有理由无法暂时扩大规模,即仅在您的工作期间进行?正如@LeonYue 建议的那样,在数据工厂中启用暂存选项可能会有所作为 - 请确认。您是否还可以确认您正在执行增量加载,而不是每次都完全重新加载?你有 ExpressRoute 吗?对于这个相对较小的体积,提取物确实显得格外长。
  • @wBob 。时间是错误的。很抱歉,但是复制时间确实需要很长时间。我们现在已经切换到增量副本,这对我们有很大帮助。我将问题改写为更多关于客户端的初始设置和做一个需要永远的初始副本。转换数据仍然需要很长时间,因为新数据也必须引用旧数据。

标签: apache-spark hadoop azure-sql-database azure-hdinsight azure-data-factory-2


【解决方案1】:

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

可以查看Copy Activity的性能参考表: 该表显示了基于内部测试运行的单个复制活动中给定源和接收器对的复制吞吐量数(以 MBps 为单位)。

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

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

  2. 并行复制。我们可以使用 parallelCopies 属性来指示您希望 Copy Activity 使用的并行度。对于每个 Copy Activity 运行,数据工厂确定用于将数据从源数据存储复制到目标数据存储的并行副本数。

  3. 分阶段复制。当您将数据从源数据存储复制到接收器数据存储时,您可能会选择使用 Blob 存储作为临时暂存存储。

您可以通过以下方式通过 Copy Activity 调整数据工厂服务的性能。

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

【讨论】:

  • 我的复制活动从 GCP(大查询)到 blob 存在性能问题,因此增加了 DIU。尽管将 DIU 从 auto 增加到 16,但它在运行时使用 4。你能帮忙吗?谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 2021-06-15
  • 1970-01-01
  • 2022-08-18
  • 2019-02-14
相关资源
最近更新 更多