8

我正在考虑将我们的 SSIS ETL 迁移到 Azure 数据工厂。我支持这种飞跃的论点是:

  • 我们的来源和目标已经在云端。ADF 是云原生的,因此看起来很合适。

  • ADF 是一项服务,因此我们可以按需消费和付费。SSIS 意味着许可成本,并且不能自然地将其用于按需消费(我们曾考虑使用 DevOps 来临时旋转 ETL 服务器)

  • 使用 SSIS 以编程方式生成 ETL 代码需要非常特殊的技能,例如 BIML 或 DTS API。通过转向 ADF,我希望 JSON 与 USQL 中的 TSQL 和 C# 的结合将使必要的技能更加通用。

我希望社区成员可以分享他们的经验,从而帮助我做出决定。

4

4 回答 4

4

这篇旧帖子的答案已经过时了。我在下面的评论与 ADF 版本 2 相关。

首先,ADF 具有运行 SSIS 包的能力,因此将您的旧 ETL 流程移到那里并逐步迁移到 ADF 不仅是可能的,而且是推荐的。你不想用每一项新技术的出现来改变一切。然后,您只能对 ADF 活动实施新的或修改的 ETL 流程。

其次,虽然可能还没有完全实现,但使用 ADF 数据流,您可以进行可以使用 SSIS 进行的转换。仍然有一些缺失的点点滴滴,但大多数常用功能都在那里。

ADF 创作不需要 Visual Studio。它确实需要特定的技能,但我发现学习曲线并不陡峭。在某些领域仍然缺乏文档和最佳实践,但是已经在数据库/数据仓库架构和 ETL 方面有经验的人会发现它相对容易。最好的一点是,大多数事情都可以直观地完成,而不会弄乱代码(这只是简单的 JSON)。

此外,ADF 与 Azure Devops 集成并使用 Git 进行版本控制。因此,您可以免费获得变更管理。

对于更高级的需求,您还可以使用 Java (Scala) 或 Python 运行 Databricks 活动,与 Hadoop(Hive 和 Pig)和 Spark 集成。

最后,ADF 包含了在 SSIS 中您必须自己构建的监控和诊断工具。您可以更轻松地查看哪个活动失败以及错误是什么。

于 2020-03-13T13:25:59.657 回答
1

如果您的 ETL 简单且易于转换,请使用数据工厂替换。如果他们需要复杂的逻辑,请使用 SSIS。
换句话说,如果转换逻辑可以通过配置实现,数据工厂是最好的。如果它需要编写代码和编程技能,那么 SSIS 是正确的工具。

一些可以帮助其他人的链接(您很可能已经做出决定)

“Azure 数据工厂和 SSIS 比较”

将 ADF 视为对 SSIS 的补充服务,其主要用例仅限于以低成本处理云中的大数据。

从 sqlbits下载Azure_Data_Factory_vs_SSIS 文章

于 2017-07-03T02:26:55.807 回答
1

ETL 是Extract Transform and Load,而 ADF 不转换任何东西(使用 ADF,您可以使用 SQL 语句或 Proc 进行转换,但在 ETL 中,基本的提取逻辑是开箱即用的)。

如果您想从中选择一个,这完全取决于您的要求。

  • 如果转换逻辑很复杂,请使用 ETL

  • 如果您正在处理大量数据,请选择 ADF

  • ADF 根据您的使用情况收费,但 SSIS 附带许可证。

  • 如果您的数据在本地,我建议您使用 ETL

  • ETL 的性能完全取决于您的本地机器
    配置,而对于 ADF,您不必担心
    性能。

于 2019-10-14T13:18:01.243 回答
0

将 SSIS 用于丰富的转换,将 ADF 用于大数据工作负载和规模。在云中执行 SSIS 包应该没有问题。这是一个提升和转移的场景。您不是使用您的计算机,而是租用计算机。

如果您是触发器的新手,那么调度应该不是问题,与 SSMS 一样,您可以获得类似的界面来在 ADF 上调度内容

但我宁愿观望,如果我有大量的本地投资。

于 2019-04-08T22:54:16.847 回答