联邦数据库的基本概念
联邦数据库是一个特殊的分布式数据管理系统,它是由一组数据源组成,其中由一个 DB2 数据库担当联邦服务器,对其他的数据源的操作都可以看作是在服务器上进行,并且这些通过联邦系统对其他数据源的操作不会影响这些数据源各自的独立性和完整性。
联邦数据库具有以下特点:
透明性:底层的多个数据源对用户而言是透明的,所有的对这些数据源的操作都像是在一个 DB2 数据库中进行的。
异构性:可以满足企业环境下不同的数据以及数据源需求。
扩展性:联邦数据库提供了一些接口,可以通过实现这些接口灵活无缝的添加新的数据源,并且联邦数据库还可以支持非关系型的数据源。
高性能:联邦数据库会对执行的操作进行优化,使用联邦系统的应用不需要实现一些特定的方法来评估查询也可以获得高的性能。
通过联邦数据库的帮助,访问多种异构数据源就变得更加简单有效。
图 1 是 DB2 联邦数据库的架构。可以看到,应用程序可以使用任何支持的接口(ODBC,JDBC,Web 服务客户端)来跟联邦服务器打交道。联邦服务器通过包装器这个模块来跟远程数据源打交道。
图 1. 联邦数据库的架构
作为负责联邦数据库和数据源之间交互的部件,包装器在建立与不同的数据源的关系上起到重要的作用。包装器模块是一个由一类数据源访问的入口点组成的共享库。图 2 展示了在包装器模块的组成部分。
其中包装器 (Wrapper) 表示了一类远程数据源,服务器 (Server) 表示了使用包装器连接的一个特定的数据库。昵称表示了服务器中的一个特定的逻辑表。用户 (User) 提供了从最终用户到一个特定的服务器认证所需的信息,连接 (Connection) 表示了一个在联邦系统和远程数据库之间的连接。操作 (Operation) 将所有需要在远程数据库执行的操作所需的信息封装起来。
图 2. 包装器模块的组成