TA的每日心情 | 难过 19 小时前 |
---|
签到天数: 44 天 [LV.5]常住居民I
超级版主
 
- 积分
- 304206
|
DB2联合数据库是分布式数据库管理的特殊形式。在联合数据库系统中,可以通过一个SQL命令来发出对多个数据源的命令请求。DB2与非DB2数据库之间进行远程复制之前,首先需要保证非DB2数据源可以被DB2ESEV8访问。对于DB2RV8所需的联合数据库功能可以在现有发布的DB2ESEV8和DB2CEEV8中提供。
"SQL复制"又称为"DB2复制",是为DB2开发的两种数据复制类型中的一种,它是通过SQL进行的复制。在这里简单提一下,DB2复制中的另一种"Q复制"是通过WMQ消息队列进行的。在进行SQL复制时,C程序读取DB2恢复日志以获取对指定源表的更改。该程序将更改保存到传输表格中,也称作变化数据表(),A程序并行读取更改并应用于目标事务,见图1。
WSII全球信息集成复制,通过不同数据库之间的复制,有效的利用了数据资源,为提高效率提供了良好的平台。
DB2与非DB2数据库之间的复制需要用到WSII。本文力争通过复制例让读者对不同数据库之间的复制有一个整体的概念。
二、动机
商业上出于很多原因使用远程复制,可以归纳为:
分散:把数据分散到各个位置;
整合:把其他位置的数据联合起来;
交换:与其他位置进行双向的数据交换;
灵活应用:对上面提到的方式进行一些改变或者结合。
联合(F)数据库系统的诞生,利用了现有的数据资源,把不同商业数据库软件的数据整合到一起,很大程度的提高了数据利用率。联合数据库可以用一个SQL语句对分布在不同地点的多种数据源发出请求。联合数据库系统可以把本地表和远程数据源联接起来,就像数据都在本地一样,并且可以通过对数据源进行分布请求来提高数据源处理能力,还可以通过在联合服务器处理部分分布请求来补充数据源的SQL限制。
联合数据库具有两个与其他应用服务器不同的特点:
联合服务器可以被配置为接收全部或接收部分针对数据源的请求。联合服务器把这些请求分散到数据源。
与其他应用服务器一样,一个联合服务器用DRDA通信协议(例如SNA和TCPIP)与DB2家族例通信。然而,与其他应用服务器不同的是,与非DB2家族例通信时用其他协议。
WSII包括两种包装器(W),一种为关系型包装器,负责DB2UDB,I,O,MSQLS,S,ODBC,OLEDB等数据的复制。另一种为非关系型包装器,负责F,E,XML等非关系型数据的复制。
包装器定义了一个负责本地数据库与远程数据库通信的库。包装器执行很多任务,比如:它可以连接到数据源,包装器应用了数据源的标准连接API。它还可以给数据源提交请求。联合数据库系统可以操作远程联合系统的表。远程表在本地联合数据库中虚拟存在,客户应用程序可以操作这些虚拟表,但是它们真正存在于远端数据库中。每个远程虚拟数据库,把联合数据库当作数据库客户端,他们只对数据库客户端的请求有回应。因此联合数据库需要下载各种远程数据库的客户端。
一个联合系统的构造,需要一个作为联合服务器的DB2例,一个作为联合数据库的数据库,一个或多个数据源,和可以存取数据库和数据源的客户(用户和应用)。如果要完成远程不同数据库之间的复制,还需要应用DB2的数据复制功能。
IBMDB2复制(在一些平台上被称为数据传播)是一个从一个位置到另一个位置复制DB2和或其他数据库厂商数据的强大的,灵活的工具。IBM的复制支持数据转换,数据连接和过滤数据。可以在不同的平台之间搬运数据,也可以把数据分散到不同的地点或从分散的地方把数据聚合到一个地方。可以在不同的系统之间交换数据。
IBM复制由四个主要部分组成:管理(A),C,A,警报监视器(AM)。
管理的部分主要通过复制中心的图形界面来现。通过复制中心可以定义复制源,定义从数据源到目标数据的地图。它也用来管理和监控本地和远程的C和A进程。从图3中可以看出复制中心图形界面对其他几个部分的支持关系。
在源数据服务器上运行的C程序可以获取DB2源数据表中的变化。DB2的源数据服务器可以为DB2在,390上的版本6,7和8,也可以是在400V5R2,或DB2在W,U系统中的版本8。当定义数据源的时候会自动生成相应的触发器(T),可以用来捕获数据源的变化。要复制的数据可以在C进程中通过选择列来进行过滤。被捕获的更改信息首先存放到本地的源数据所在的数据库的表中并且当更改应用到目标数据中之后会自动删除。
当对源表进行改动时,DB2把相关的记录写入日志。这些日志服务于数据库发现和复制。C程序通过数据库自动连接并获取日志记录。每个源表都有相应的CD()表来获取数据的变化。当定义一个远程复制数据源时,复制中心自动生成CD表。
对于A部分,捕获的改变通过A程序应用到目标表中。A程序可以在任何服务器上运行并且必须对所用到的源服务器和目标服务器都有连通性。数据可以通过列,行进行过滤,可以进行合并(例如通过视图),也可以在A过程中通过SQL表达式进行传送。DB2与其他相关的数据间进行复制的时候,必须通过联合数据库系统来进行昵称的创建。在本地机器上需要安装关系型包装器和非关系型包装器。对于本例中2-ORACLE之间的复制,需要安装关系型包装器。
报警监视器用来进行对C和A部分的错误监控。 |
|