新瓶装老酒:实时数据集成二

上回说到采用虚拟数据层的方式进行数据集成,

采用虚拟数据服务层的优势为:

1.       处理都在中间件服务器上,相对来讲,对数据的处理会比较灵活,应用和底层的数据实现松耦合。

2.       当一个请求涉及到多个底层数据源时,对底层的数据访问可以采用并发方式进行。

3.       借助中间件的灵活性,数据可以采用多种方式对外提供接口,从而大大方便各种应用的开发。

4.       所有的数据都是实时从数据源取来,保证数据的时效性。

问题:

数据的处理在中间件层进行,一是带来从数据源到中间件层的数据传输,二是中间件一般都是J2EE架构,其强项并不是数据处理,在数据量不大时并无大碍,当数据量非常大时,其实现机制就注定了效率会出现问题。

 

第二种模式的实现方法为:数据源层负责数据的加工处理,然后将整合后的数据以标准的接口发布到中间件层,中间件层只负责数据的接入访问,如下图所示:

 

16312004_200810291112131.gif

 

 

这种处理方式一般是数据库厂商或者ETL厂商推荐的方式,根据用户的业务需求逻辑,首先在数据源层通过ETL工具设计数据转化流程,然后将流程的转化逻辑发布成web服务,同时将转化后的数据也发布成web服务,然后将这些服务注册到中间件层,当前端用户需要数据服务时,它需要调用两个web服务,第一个是转化web服务,该web服务调用相应的ETL工具对数据进行整合加工,然后将整合的数据存储在临时表中。第二个服务是调用数据服务,直接从临时表中取出加工后的数据,与第一种模式的区别在于,它将数据的加工处理放在了数据源层,其优势在于:

1.       ETL工具天生就是做数据整合的,而且适合大数据量的整合,所以针对大数据量效率会非常高。

2.       在数据源层整合可以充分利用数据库的处理能力,毕竟数据库才是做数据处理的行家。

3.       依靠E-LT工具的变化数据捕捉功能,可以进行增量数据的处理。

4.       数据转化和数据获取松耦合,可以实现异步处理。

该模式的问题在于:

1.       由于数据的加工处理依赖于数据库的处理能力,因此在所有的数据源中,必须有一个为关系型数据库系统,而第一种模式由中间件负责数据处理,数据源没有限制。

2.       在应用的流程设计中,需要调用两次WEB服务,一次为转化,一次为取数据读取,数据量非常小的情况下,有点画蛇添足的味道。

fj.png4.GIF

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16312004/viewspace-480116/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16312004/viewspace-480116/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值