="t18">
、背景
DB2 联合数据库是分布式数据库治理
非凡形式
在联合数据库系统中
可以通过
个 SQL 命令来发出对多个数据源
命令请求
DB2 和非 DB2 数据库的间进行复制的前
首先需要保证非 DB2 数据源可以被 DB2 ESE Version 8 federated database访问
对于DB2 Replication Version 8 所需
联合数据库功能可以在现有发布
DB2 ESE Version 8 和 DB2 Connect Enterprise Edition Version 8 中提供
"SQL复制"又称为"DB2复制"
是为 DB2 开发
两种数据复制类型中
种
它是通过 SQL 进行
复制
在这里简单提
下
DB2 复制中
另
种"Q复制"是通过 Websphere MQ 消息队列进行
在进行 SQL 复制时
Capture
读取 DB2 恢复日志以获取对指定源表
更改
该
将更改保存到传输表格中
也称作变化数据表(changed data table)
Apply
并行读取更改并应用于目标事务
见图1
图1:SQL复制结构
WebSphere II 全球信息集成复制
通过区别数据库的间
复制
有效
利用了数据资源
为提高效率提供了良好
平台
DB2 和非 DB2 数据库的间
复制需要用到 WebSphere II
本文力争通过复制例子让读者对区别数据库的间
复制有
个整体
概念
2、动机
商业上出于很多原因使用复制
可以归纳为:
分散:把数据分散到各个位置;
整合:把其他位置
数据联合起来;
交换:和其他位置进行双向
数据交换;
灵活应用:对上面提到
方式进行
些改变或者结合
联合 (Federated) 数据库系统
诞生
利用了现有
数据资源
把区别商业数据库软件Software
数据整合到
起
很大程度
提高了数据利用率
联合数据库可以用
个SQL语句对分布在区别地点
多种数据源发出请求
联合数据库系统可以把本地表和远程数据源联接起来
就像数据都在本地
样
并且可以通过对数据源进行分布请求来提高数据源处理能力
还可以通过在联合服务器处理部分分布请求来补充数据源
SQL 限制
联合数据库具有两个和其他应用服务器区别
特点:
联合服务器可以被配置为接收全部或接收部分针对数据源
请求
联合服务器把这些请求分散到数据源
和其他应用服务器
样
个联合服务器用 DRDA 通信协议(例如 SNA 和 TCP/IP)和 DB2 家族例子通信
然而
和其他应用服务器区别
是
和非 DB2 家族例子通信时用其他协议
图2描述了联合数据库系统
设置流程
:
图2:联合数据库系统设置流程
WebSphere II 包括两种包装器(Wrapper)
种为关系型包装器
负责DB2 UDB, Informix, Oracle, Microsoft SQL Server, Sybase, ODBC, OLE DB 等数据
复制
另
种为非关系型包装器
负责 Flatfile, Excel, XML 等非关系型数据
复制
包装器定义了
个负责本地数据库和远程数据库通信
库
包装器执行很多任务
比如:它可以连接到数据源
包装器应用了数据源
标准连接API
它还可以给数据源提交请求
联合数据库系统可以操作远程联合系统
表
远程表在本地联合数据库中虚拟存在
客户应用
可以操作这些虚拟表
但是它们真正存在于远端数据库中
每个远程虚拟数据库
把联合数据库当作数据库客户端
他们只对数据库客户端
请求有回应
因此联合数据库需要下载各种远程数据库
客户端
个联合系统
构造
需要
个作为联合服务器
DB2 例子
个作为联合数据库
数据库
个或多个数据源
和可以存取数据库和数据源
客户(用户和应用)
假如要完成远程区别数据库的间
复制
还需要应用DB2
数据复制功能
IBM DB2 复制(在
些平台上被称为数据传播)是
个从
个位置到另
个位置复制 DB2 和/或其他数据库厂商数据
强大
灵活
工具
IBM
复制支持数据转换
数据连接和过滤数据
可以在区别
平台的间搬运数据
也可以把数据分散到区别
地点或从分散
地方把数据聚合到
个地方
可以在区别
系统的间交换数据
IBM复制由 4个主要部分组成:治理 (Administrator)
Capture
Apply
警报监视器 (Alert Monitor)
治理
部分主要通过复制中心
图形界面来实现
通过复制中心可以定义复制源
定义从数据源到目标数据
地图
它也用来治理和监控本地和远程
Capture 和 Apply 进程
从图3中可以看出复制中心图形界面对其他几个部分
支持关系
图3:复制中心应用
在源数据服务器上运行
Capture
可以获取 DB2 源数据表中
变化
DB2
源数据服务器可以为 DB2 在 z/os, os/390 上
版本 6
7和8
也可以是 iseries 在 os/400 V5R2
或 DB2 在 Windows, Unix 系统中
版本 8
当定义数据源
时候会自动生成相应
触发器 (Triggers)
可以用来捕捉数据源
变化
要复制
数据可以在 Capture 进程中通过选择列来进行过滤
被捕捉
更改信息首先存放到本地
源数据所在
数据库
表中并且当更改应用到目标数据中的后会自动删除
当对源表进行改动时
DB2 把相关
记录写入日志
这些日志服务于数据库发现和复制
Capture
通过数据库自动连接并获取日志记录
每个源表都有相应
CD (change data) 表来获取数据
变化
当定义
个复制数据源时
复制中心自动生成 CD 表
对于 Apply 部分
捕捉
改变通过 Apply
应用到目标表中
Apply
可以在任何服务器上运行并且必须对所用到
源服务器和目标服务器都有连通性
数据可以通过列
行进行过滤
可以进行合并(例如通过视图)
也可以在 Apply 过程中通过 SQL 表达式进行传送
DB2 和其他相关
数据间进行复制
时候
必须通过联合数据库系统来进行昵称
创建
在本地机器上需要安装关系型包装器和非关系型包装器
对于本例中db2<->ORACLE的间
复制
需要安装关系型包装器
见图4
图4:进行远程复制关系图
报警监视器用来进行对Capture和Apply部分
监控
延伸阅读
最新评论