谈面向服务的ETL集成(5.23)

栏目: 数据库 · 发布时间: 4年前

在前面谈ESB服务设计器和轻量的ESB服务编排的时候可以看到,在和数据库适配相关层面,我们重点只在解决一类问题,通过数据库适配的方式来发布一个查询服务或导入服务。对于查询服务具体转化为对数据库的Select操作,而对于导入服务则转化为对数据库的Insert操作。

即ESB的服务设计或轻量编码,数据库端是后端适配,最终目的是查询或导入数据,最终则发布一个服务。

我今天谈面向服务的ETL集成,和原来谈的数据库适配和服务发布最大的区别就在于数据库适配仍然存在,但是在服务编排过程中不产生新的服务,而是产生一个类似定时调度的任务,这是和前面场景最大区别。对于这种模式我们举例来进行说明。

场景一:定时调用某个查询服务获取增量数据,同时将增量数据插入到某个数据库表

在该场景下可以看到,我们需要形成一个定时调度任务,输入增量查询条件对查询服务自动触发调用,在调用完成后获取到增量数据后,再通过数据库适配,将数据写入到某个数据库表中。在整个过程中实际上有三个重点,一个是触发服务调用,一个是数据转换映射,一个是数据库适配。

场景二:定时调用某个ETL查询操作,获取到数据集,再去触发对某个导入服务的调用导入数据

这个场景刚好是场景一的逆向场景,即定时调度任务首先是通过数据库适配获取到数据集,但是在获取到数据集后不是将其发布为服务,而是直接去调用另外一个外部导入服务,将数据推送到这个导入服务里面。当然也可以是将数据推送到某个JMS消息管道中。

场景三:定时调用ETL操作获取数据,再调用服务返回数据,再调用ETL操作将返回结果导入数据库表

这场景实际上对接的两个系统,一个提供服务,一个提供DbLink连接的对接场景。首先是通过ETL获取数据,然后调用导入服务推送数据,同时将导入服务调用的结果信息再次调用ETL操作将返回结果插入到数据库。

场景四:先调用查询服务获取数据,再调用ETL操作插入库表,如果存在异常调用服务写入异常信息

这种场景实际也是服务和ETL之间的一个组合,即先调用查询服务获取增量数据,然后调用数据库适配将增量数据写入到数据库表,如果在写入过程中出现异常,则将调用异常信息导入服务将异常信息返回。

对于原来我们经常谈到的类似ODI模式的WS+ETL的集成,本身没有变化,即将一个数据库的ETL操作发布一个WS服务,通过调用查询服务来输入查询条件,通过基于查询条件获取数据并ETL操作到目标数据库,然后再返回具体的输出结果。这种WS和ETL集合的模式,由于大数据量的ETL没走ESB总线,因此能够获得更好的性能。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP经典实例(第3版)

PHP经典实例(第3版)

David Sklar、Adam Trachtenberg / 苏金国、丁小峰 / 中国电力出版社 / 2015-7 / 128.00

想要掌握PHP编程技术?或者想要学习如何完成一个特定的任务?那么一定要先看看《PHP经典实例(第3版)》。本书介绍了专门为PHP 5.4和5.5修订的350个经典技巧,并提供了丰富的示例代码。特别是对生成动态Web内容的解决方案做了全面更新,从使用基本数据类型到查询数据库,从调用RESTful API到测试和保护网站安全都有涵盖。 各个技巧都提供了示例代码,可以免费使用,另外还讨论了如何解决......一起来看看 《PHP经典实例(第3版)》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具