数据集成的N种方式
2008-12-24 13:06:56 来源:WEB开发网在中间层上存在一个虚拟的数据服务层,该层通过JDBC,FILE适配器、应用适配器等与数据层的各种数据源实现连接,将数据源中的各种数据实体映射成中间件的虚拟数据层的表,虚拟数据层中的表都只有元数据,而不存储实际的生产数据。用户可以在虚拟数据层上采用可视化图形界面定义数据映射关系,进行数据加工整合,这些数据加工逻辑一般会以文件或者数据库方式存储。定义好的数据可以通过web service,JDBC,数据对象等多种方式发布出去。当用户通过中间件访问虚拟数据层的数据时,虚拟数据层会根据系统定义的逻辑首先将需要加工的细节数据从各个数据源抽取到虚拟数据层,然后中间件根据设计时的数据加工逻辑对其进行加工,最后中间件将加工好的数据以调用接口要求的格式返回。
采用虚拟数据服务层的优势为:
1. 处理都在中间件服务器上,相对来讲,对数据的处理会比较灵活,应用和底层的数据实现松耦合。
2. 当一个请求涉及到多个底层数据源时,对底层的数据访问可以采用并发方式进行。
3. 借助中间件的灵活性,数据可以采用多种方式对外提供接口,从而大大方便各种应用的开发。
4. 所有的数据都是实时从数据源取来,保证数据的时效性。
这样做的问题是数据的处理在中间件层进行,一是带来从数据源到中间件层的数据传输,二是中间件一般都是J2EE架构,其强项并不是数据处理,在数据量不大时并无大碍,当数据量非常大时,其实现机制就注定了效率会出现问题。
第二种是在 数据源层负责数据的加工处理,然后将整合后的数据以标准的接口发布到中间件层,由中间件层负责数据的访问。
这种处理方式一般是数据库厂商或者ETL厂商推荐的方式,根据用户的业务需求逻辑,首先在数据源层通过ETL工具设计数据转化流程,然后将流程的转化逻辑发布成web服务,同时将转化后的数据也发布成web服务,然后将这些服务注册到中间件层,当前端用户需要数据服务时,它需要调用两个web服务,第一个是转化web服务,该web服务调用相应的ETL工具对数据进行整合加工,然后将整合的数据存储在临时表中。第二个服务是调用数据服务,直接从临时表中取出加工后的数据,与第一种模式的区别在于,它将数据的加工处理放在了数据源层,其优势在于:
更多精彩
赞助商链接