数据集成中间件知识点总结

  数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。

一、模型分类

  (1)联邦式数据库系统(Federated Distributed Database System),这种分布式数据库的特点是结点自治和没有全局数据模式,每个结点所看到的数据模式仅仅限于此结点所用到的数据。它一般由两部分组成:一个是本节点的数据模式,另一个是供本节点共享的其他节点上有关的数据模式。结点间的数据共享由双边协商确定。

  (2)中间件模式通过统一的全局数据模型来访问异构的数据库、遗留系统、Web资源等。中间件位于异构数据源系统(数据层)和应用程序之间,向下协调各数据源系统,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口。中间件系统则主要集中为异构数据源提供一个高层次检索服务

  (3)数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的和不可修改的数据集合。其中,数据被归类为广义的、功能上独立的、没有重叠的主题。

  二、Web服务的数据集成中间件设计与实现

  该系统的主要部分是中介器(Mediator)和针对每个数据源的包装器(Wrapper)。这里中介器的功能是接收针对全局模式生成的查询,根据数据源描述信息及映射规则将接收的查询分解成每个数据源的子查询,再将子查询发送到每个数据源的包装器。包装器将这些子查询翻译成符合每个数据源的子查询,并把查询结果返回给中介器。中介器将接收的所有数据源的结果合并成一个结果返回给用户。

  在Web Services的框架下使用一组Web Service协议构建信息集成系统。为中间件的数据访问接口创建一个Web Service,然后使用WSDL向服务中心注册。客户端首先向注册中心发送查找请求,然后通过SOAP协议调用数据访问接口,从这些数据源获取数据。这种方法具有完好封装、松散耦合、规范协议和高度的集成能力等特性。

该系统有五个核心模块:

  (1)中间件配置模块:配置中间件和各个异构数据库的连接信息,包括数据库地址、登录用户名、密码、数据库名

  (2)查询分解模块:根据数据源描述信息及映射规则将接收的查询分解成每个数据源的子查询

  (3)子查询发送模块:分析用户提交的查询语句,从中找出该查询需要的数据源,然后到中间件的配置信息中查找相应的包装器,把连接信息和子查询发送到对应的包装器。

  (4)子查询执行模块:子查询模块根据不同的数据库类型,加载对应的JDBC驱动程序,实现多个不同数据库的查询操作。

  (5)查询结果重组模块:查询结果重组模块收集子查询的结果,这些结果是以DataSet的形式存在的,然后合并为一个大的DataSet作为最终的结果。返回给客户端时,根据DataSet生成一个结果XML文件给客户端,完成整个查询流程。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

高性能服务端漫谈

3623
来自专栏北京马哥教育

运维必读:Linux 的内存分页管理

内存是计算机的主存储器。内存为进程开辟出进程空间,让进程在其中保存数据。我将从内存的物理特性出发,深入到内存管理的细节,特别是了解虚拟内存和内存分页的概念。

1142
来自专栏架构师之路

工作线程数究竟要设置为多少 | 架构师之路

一、需求缘起 Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,...

4548
来自专栏开发与安全

linux环境常用的性能监控和协助开发调试工具

linux有诸多优秀的工具帮助我们分析服务器各项性能指标和协助开发调试工作。下面只列举比较基础的命令,且一般是集成在linux环境中而不需再次安装的...

3851
来自专栏进击的程序猿

ZooKeeper: Wait-free coordination for Internet-scale systems(笔记)

本文是读ZooKeeper: Wait-free coordination for Internet-scale systems的笔记,从第一手资料了解zook...

1013
来自专栏极客猴

pustil - 获取系统信息库

运维工程师经常使用 Python 编写脚本程序来做监控系统运行的状态。如果自己手动使用 Python 的标准库执行系统命令来获取信息,会显得非常麻烦。既要兼容不...

1261
来自专栏owent

atsf4g完整游戏工程示例

近期仍然在搭建完整的游戏服务器架构。基于atsf4g(asynchronously-tree server framework fo game)的完整解决方案终...

611
来自专栏IT技术精选文摘

缓存在分布式系统中的应用

缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。 一、缓存概述 缓存是分布式系统中的重要组件,主要...

3189
来自专栏性能与架构

Redis 4.0 新特性

简介 Redis 4.0 即将发布,这是个很重要的版本,变动比较大,下面看几个重要的新特性。 推出模块系统 通过模块系统,我们可以对Redis进行自定义扩展,实...

3988
来自专栏实战docker

Docker下实战zabbix三部曲之一:极速体验

对于想学习和实践zabbix的读者来说,在真实环境搭建一套zabbix系统是件费时费力的事情,本文内容就是用docker来缩减搭建时间,目标是让读者们尽快投入z...

3087

扫码关注云+社区