我一直在从事一个项目,该项目从各种第三方数据源收集数据并将其挖掘到我们的数据存储(DI)中。为此我们一直使用 Pentaho。
我想知道这是否也可以用 ESB(Camel 或 Mule)来完成? ESB 还提供了哪些 DI 不提供的功能?
我读过很多关于 ESB 和 DI 的文章,但没有一篇能够解决这个查询。我还阅读了有关第三方数据源的 Mule 数据连接器的信息。
DI(数据集成而不是“依赖注入”)或 ETL 方法往往是长时间运行的批处理式作业,以实现将数据从系统 A 移动到系统 B 的解决方案。ESB 或轻量级集成方法通常是打破任务分解为更小的片段(数据块,或每个数据项的单个事件),并允许其他系统订阅数据流(通常通过企业消息系统),而不必影响系统 A、系统 B 或现有代码项目。这也意味着项目计划中没有人类依赖性要求。如果系统 C 出现,他们不一定需要系统 B 团队的资源来访问数据流
在任何给定环境中都有适合的用例。然而,根据我的经验(大数据/MDM 最佳实践倾向于同意),如果您有原始数据流,其他一些系统也会在某个时刻访问该数据流。如果无需更改组织内现有代码、系统或其他团队即可访问数据流的能力在您的用例中听起来很有用,那么预先为此进行设计并采用 ESB 方法将是一个好主意。这允许新的感兴趣的消费者加入,而不必重写现有系统使用的流程。 ESB/轻量级集成系统往往比 DI/ETL 工具更有效地支持该设计模式。
一些随意的想法: