【问题标题】:What is the difference between data integration softwares and ESB?数据集成软件和 ESB 有什么区别?
【发布时间】:2017-04-02 02:29:12
【问题描述】:

我一直在从事一个项目,该项目从各种第三方数据源收集数据并将数据挖掘到我们的数据存储 (DI) 中。为此,我们一直在使用 Pentaho。

我想知道这是否也可以使用 ESB(Camel 或 Mule)来完成? ESB 还带来了哪些 DI 没有提供的其他特性?

我已经阅读了很多关于 ESB 和 DI 的文章,但没有一篇能够解决这个问题。我还阅读了有关第三方数据源的 mule 数据连接器。

【问题讨论】:

    标签: dependency-injection apache-camel mule pentaho esb


    【解决方案1】:

    DI(数据集成而不是“依赖注入”)或 ETL 方法往往是长时间运行的批处理式作业,以解决将数据从系统 A 移动到系统 B 的解决方案。ESB 或轻量级集成方法通常是为了打破将任务分成更小的部分(数据块或每个数据项的单个事件),并允许其他系统订阅数据流——通常通过企业消息传递系统——而不必影响系统 A、系统 B 或现有的代码项目。这也意味着项目计划中没有人为依赖的要求。如果 System C 出现,他们不一定需要 System B 团队的资源来访问数据流

    在任何给定的环境中都有适合的用例。但是,根据我的经验(大数据/MDM 最佳实践倾向于同意)是,如果您有一个原始数据流,那么其他一些系统也会希望在某个时候访问该数据流。如果无需更改组织内现有代码、系统或其他团队即可访问数据流的能力在您的用例中听起来很有用,那么预先设计并采用 ESB 方法将是一个好主意。这允许新的感兴趣的消费者进入,而不必重写现有系统使用的流程。 ESB/轻量级集成系统倾向于允许这种设计模式比 DI/ETL 工具更有效。

    一些随意的想法:

    • ESB 支持“一个不良记录问题”,允许您将其路由到错误队列以供人工查看,然后重新发布
    • ETL/DI 往往具有直线快乐路径速度优势
    • 一旦超越了简单的点对点集成用例,ETL/DI 就会开始变得复杂
    • 恕我直言:ESB 更擅长支持数据集、服务和数据模型的版本控制。
    • ETL/DI 往往有更成熟的 UI 供非技术用户执行数据映射任务
    • ESB 在支持运行时系统解耦方面非常强大。如果系统 B 宕机,则数据只会排在队列中,直到它恢复。没有长时间运行的阻塞线程或不得不重新启动作业的风险
    • ESB 的上升曲线略高
    • ETL/DI 通常最终会导致 ESB(大多数供应商同时提供 DI 和 ESB 产品)

    【讨论】:

    • 马特,你的回答已经足够了,但我想在这里出现更多的答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 2014-06-08
    • 2016-05-03
    • 2016-07-23
    • 2013-06-14
    • 2014-02-21
    相关资源
    最近更新 更多