我们可以使用 SSIS 完成我们在 BizTalk 中可以做的所有事情吗

Can we do all the things which we can do in BizTalk using SSIS

我使用 SSIS 有一段时间了,但从未接触过 BizTalk。

我们做的一个数据迁移项目,除了SSIS之外,还有BizTalk。

我只是想知道如果我们已经有了 SSIS ETL 工具,BizTalk 还需要什么。

简短的回答,没有。

BizTalk Server和SSIS是不同的范式,用来互补,而不是对立。它们都是 BizTalk Stack 的一部分,并且经常在同一个应用程序中使用。

BizTalk 是一个消息传递平台,应用程序倾向于一次处理一个实体。 SSIS 是基于集合的,最适合基于批量 table 的操作。

SSIS 非常适合在 SQL 服务器和

之间传输数据的批量 ETL 批处理选项
  • 另一个 RDBMS
  • Excel
  • 一个简单 CSV文件
  • 您不需要逐行处理
  • 您的映射主要是数据类型转换映射(即将 VARCHAR 更改为 NVARCHAR 或将 DATETIME 更改为 VARCHAR 等)
  • 您可以error/fault处理批次而不是行
  • 您主要进行的是点对点集成,这些集成不太可能改变或只是暂时需要。

BizTalk 非常适合实时消息传递需求,其中:

  • 您正在任意两个端点之间传输消息
  • 您需要一个集中式集线器and/or ESB 用于消息处理
  • 您需要细粒度的消息转换
  • 您需要处理更复杂的循环文件结构(即不是直接的 CSV)
  • 您需要应用分析师可管理的业务规则
  • 您需要能够在 运行 时间
  • 轻松换出端点
  • 您需要对个人 messages/rows
  • 进行更多增强的 error/fault 管理
  • 您需要增强的 B2B 功能(EDI、HL7、SWIFT、贸易伙伴管理、确认)

两者都可以通过大量额外的工作来完成另一个的工作,但是要看到这一点,请尝试让 SSIS 执行一项任务,该任务需要每行调用一个存储过程并让它执行正确的错误 [=每行 60=],并尝试让 BizTalk 执行需要最少转换的批量 ETL 操作。两者都可以,但会很痛苦。