【问题标题】:Distributed ETL question分布式ETL问题
【发布时间】:2010-03-18 16:42:01
【问题描述】:

寻找针对 200 多个分布式系统(Windows、AS400、Linux 等)的 ETL 系统的任何建议。

我们每个月都会从所有客户那里收集数据(无论系统类型如何),将其带回、一起处理,然后将汇总的解决方案发回给他们。我的任务是自动化这个系统 - 关于如何稳健地做到这一点的任何建议,我真的不想重新发明轮子。我不拥有我从中提取数据的任何系统,这使这项任务变得更加困难,但可以安装客户端。

我已经用 Java 创建了一个原型客户端/服务器架构,并使用 FTP 进行传输,但我觉得它很脆弱。我应该注意到,不同系统的所有提取/转换代码已经存在于 Java 中(尽管是遗留的)。

我应该提到我们目前每月提取一次数据,但正在努力每周一次。

感谢任何见解。

【问题讨论】:

  • 听起来您需要的是企业服务总线。它是一个用于在多个不同系统之间进行转换、路由和消息交换的系统。您可以查看 Mule 或 Apache ServiceMix。您的每个系统都可以是提供者和消费者,它们可以提供数据,您可以让处理引擎消费,然后将结果弹出回原始系统可以消费的 ESB。
  • 另外,FTP 可能不是一个好的解决方案。像 JMS 这样的东西可能更适合,这取决于数据的类型和大小。
  • 这些看起来很有希望,我会检查出来的。谢谢。

标签: java etl


【解决方案1】:

我认为这将取决于项目将如何发展。如果这个项目会增加更多的要求并且涉及一些资金,那么 ETL 工具可能是个好主意。

但是,如果您现在有固定的输出(报告)并且不打算去任何地方,那么自定义 ETL 可能是值得的。原因是大多数 ETL 工具具有各种输出格式(图表、文本文件等)和使用工具的便利性,但底线是数据移动部分几乎适用于所有工具。即使使用任何其他 ETL 工具,您也需要实现您现在正在执行的相同查询,并且您需要学习该工具。谁知道?某些工具可能涉及 200 多个站点安装。

最近,我们公司花了很多钱购买报告工具和服务器和人力资源来构建良好的 ETL,因为我们内部的 ETL 因速度慢且外观不专业而受到批评(你知道它没有使用流行的 ETL工具。它是一堆脚本命令)。花了这么多钱,这个项目几乎陷入了死胡同。

还有一件事。我不明白 Java 和 FTP 是如何参与这个过程的。 您可以使用 SQL 直接连接客户系统中的数据库吗? 如果可以的话,使用 SQL 和存储过程总是比使用 JAVA 和 FTP 更好。

希望它会有所帮助。

【讨论】:

  • 我们无法直接连接,因为我们集成到客户或潜在客户可能使用的任何数据库 - 因此 Java 和 FTP。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多