数据复制的不同方式解析
立即解锁
发布时间: 2025-08-23 01:13:27 阅读量: 1 订阅数: 2 


Adabas复制的高效使用与实践指南
### 数据复制的不同方式解析
在数据管理领域,数据复制是一项至关重要的技术,它能够实现数据的备份、实时同步以及跨平台迁移等功能。本文将详细介绍几种不同的数据复制方式及其所需的组件和操作要点。
#### 1. 数据复制的基本要求
数据复制需要两个关键组件:包含待复制数据的订阅(源)数据库,以及用于接收和编辑目标(目标)数据库更新的复制引擎(Reptor)。
两个数据库(订阅数据库和 Reptor)都包含一个由参数 LRPL 定义的复制缓冲区(RPL)。此外,一些在常规数据库中也常见的缓冲区,如 Adabas 缓冲区池(LBP)和用于异步缓冲区刷新的 I/O 池(LFIOP),在复制过程中也起着重要作用。
除了必需的 Adabas 系统文件外,Reptor 还包含以下文件:
- **复制系统文件**:包含复制参数,如目标、订阅和全局格式(GFB)的描述。
- **订阅日志(SLOG 文件)**:作为复制缓冲区的溢出区域。
另外,事务日志(TLOG)可用于性能调优,但由于会增加系统开销,在常规复制过程中通常不建议激活。
以下是基本要求的组件和文件总结表格:
| 组件/文件 | 描述 |
| --- | --- |
| 订阅(源)数据库 | 包含待复制的数据 |
| 复制引擎(Reptor) | 接收和编辑目标数据库的更新 |
| 复制缓冲区(RPL) | 由参数 LRPL 定义,两个数据库都包含 |
| Adabas 缓冲区池(LBP) | 在复制过程中起重要作用 |
| I/O 池(LFIOP) | 用于异步缓冲区刷新 |
| 复制系统文件 | 包含复制参数,如目标、订阅和全局格式(GFB)的描述 |
| 订阅日志(SLOG 文件) | 复制缓冲区的溢出区域 |
| 事务日志(TLOG) | 可用于性能调优,常规复制过程中不建议激活 |
下面是基本要求的 mermaid 流程图:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(订阅数据库):::process --> B(复制引擎 Reptor):::process
A --> C(RPL 缓冲区):::process
B --> D(RPL 缓冲区):::process
C --> E(Adabas 缓冲区池 LBP):::process
D --> E
C --> F(I/O 池 LFIOP):::process
D --> F
B --> G(复制系统文件):::process
B --> H(订阅日志 SLOG 文件):::process
B --> I(事务日志 TLOG):::process
```
#### 2. 从大型机上的 Adabas 到大型机上的 Adabas 复制
这种复制方式主要用于公司实时构建备份数据库,以应对灾难恢复(DIR)。与镜像数据库不同,复制的数据库可以随时与原始数据库并行以只读模式使用。在发生灾难时,所有应用程序可以直接切换到复制的数据库,并以读写模式使用。
复制所需的组件如下:
- **源或订阅数据库**:需要定义额外的 Adabas 参数,并更新现有参数。
- **复制引擎(Reptor)**:是一个基本的 Adabas 内核,在启动时加载一些额外的复制模块。Adabas 参数应至少设置为与源或订阅数据库相同的值。除了已知的 Adabas 系统文件外,还包含复制系统文件和可选的订阅日志(SLOG 文件)。
- **Entire Net - Work 或 WCP**:作为代理,将 Adabas 直接调用及其缓冲区传递到目标数据库。
- **目标或目标数据库**:通过 Entire Net - Work(WCP)接收来自复制引擎的 Adabas 直接调用。Adabas 参数和缓冲区的值应设置为与源或订阅数据库相同。
以下是该复制方式的组件总结表格:
| 组件 | 描述 |
| --- | --- |
| 源或订阅数据库 | 定义额外参数并更新现有参数 |
| 复制引擎(Reptor) | 基本 Adabas 内核加载额外复制模块,参数与源数据库相同 |
| Entire Net - Work 或 WCP | 代理,传递 Adabas 直接调用及其缓冲区 |
| 目标或目标数据库 | 通过 WCP 接收调用,参数和缓冲区与源数据库相同 |
下面是该复制方式的 mermaid 流程图:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(大型机上的源 Adabas 数据库):::process --> B(复制引擎 Reptor):::process
B --> C(Entire Net - Work WCP):::process
C --> D(大型机上的目标 Adabas 数据库):::process
```
#### 3. 从大型机上的 Adabas 到 Linux、UNIX 或 Windows(LUW)上的 Adabas 复制
这种复制方式适用于公司利用复制的数据库节省批处理流程的时间和成本。从 Web 以只读模式访问复制的数据库还可以避免使用大型机和 Web 服务器之间的网络组件。
复制所需的组件如下:
- **源或订阅数据库**:需要定义额外的 Adabas 参数,并更新现有参数。
- **复制引擎(Reptor)**:基本的 Adabas 内核,启动时加载额外复制模块,Adabas 参数至少与源数据库相同。包含复制系统文件和可选的订阅日志(SLOG 文件)。
- **大型机上的 Entire Net - Work 或 WCP**:作为代理,将 Adabas 直接调用及其缓冲区从客户端传输到远程 Adabas 目标数据库。
- **网络**:通过线路、电路、防火墙、路由器和负载均衡系统等组件,连接大型机上的 WCP 和 LUW 上的 WCP。
- **LUW 上的 Entire Net - Work 或 WCP**:通过 WCL 将 Adabas 调用从客户端发送到数据库。
- **Entire Net - Work 客户端(WCL)**:使用 Entire Net - Work 7 电子商务消息协议访问 Adabas 数据库,需要安装在任何希望访问 Adabas 数据库的机器上,并需要一个目录服务器来存储管理数据。
- **目标或目标数据库**:通过 Entire Net - Work(WCP)接收来自复制引擎的 Adabas 直接调用,Adabas 参数和缓冲区的值应与源数据库相同。
以下是该复制方式的组件总结表格:
| 组件 | 描述 |
| --- | --- |
| 源或订阅数据库 | 定义额外参数并更新现有参数 |
| 复制引擎(Reptor) | 基本 Adabas 内核加载额外复制模块,参数与源数据库相同 |
| 大型机上的 Entire Net - Work 或 WCP | 代理,传输 Adabas 直接调用及其缓冲区 |
| 网络 | 连接大型机和 LUW 上的 WCP |
| LUW 上的 Entire Net - Work 或 WCP | 通过 WCL 发送 Adabas 调用 |
| Entire Net - Work 客户端(WCL) | 使用协议访问 Adabas 数据库,需目录服务器 |
| 目标或目标数据库 | 通过 WCP 接收调用,参数和缓冲区与源数据库相同 |
下面是该复制方式的 mermaid 流程图:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(大型机上的源 Adabas 数据库):::process --> B(复制引擎 Reptor):::process
B --> C(大型机上的 Entire Net - Work WCP):::process
C --> D(网络):::process
D --> E(LUW 上的 Entire Net - Work WCP):::process
E --> F(LUW 上的目标 Adabas 数据库):::process
G(Entire Net - Work 客户端 WCL):::process --> E
```
#### 4. 从大型机上的 Adabas 到非 Adabas 数据库的复制
将大型机上的 Adabas 数据库复制到 Linux、UNIX 或 Windows 上的非 Adabas 数据库,常用于为现成软件提供数据,或配合非 Adabas 数据库复制软件进行进一步复制。
复制所需的组件如下:
- **源或订阅数据库**:需要定义额外的 Adabas 参数,并更新现有参数。
- **复制引擎(Reptor)**:是基本的 Adabas 内核,启动时加载额外复制模块,Adabas 参数至少与源数据库相同。包含复制系统文件和可选的订阅日志(SLOG 文件)。
- **主框架上的 EntireX 代理(wM EntireX)**:是具有代理功能的面向消息的中间件。
- **主框架上的 WebSphere MQ(消息队列)**:是 IBM 的面向消息的中间件,在队列管理器的控制下将数据从 A 点传输到 B 点。
- **Linux、UNIX 或 Windows(LUW)上的事件复制器目标适配器**:用于与主框架上的 EntireX 代理通信,并将数据复制到非 Adabas 目标数据库。该适配器将复制的 Adabas 数据转换并应用到关系数据库。
- **目标或目标数据库**:可以是任何关系数据库,如 DB2、MySQL Server、Sybase、Teradata 和 Oracle 等。
- **清空 MQ 队列的程序**:如果 WebSphere MQ 仅用作面向消息的中间件(MOM),则需要一个程序来清空 MQ 队列并将数据写入目标数据库。
以下是该复制方式的组件总结表格:
| 组件 | 描述 |
| --- | --- |
| 源或订阅数据库 | 定义额外参数并更新现有参数 |
| 复制引擎(Reptor) | 基本 Adabas 内核加载额外复制模块,参数与源数据库相同 |
| 主框架上的 EntireX 代理 | 面向消息的中间件,有代理功能 |
| 主框架上的 WebSphere MQ | IBM 面向消息的中间件,传输数据 |
| LUW 上的事件复制器目标适配器 | 与 EntireX 代理通信,复制数据到非 Adabas 数据库 |
| 目标或目标数据库 | 如 DB2、MySQL Server 等关系数据库 |
| 清空 MQ 队列的程序 | 清空队列并写入目标数据库 |
下面是该复制方式的 mermaid 流程图:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(大型机上的源 Adabas 数据库):::process --> B(复制引擎 Reptor):::process
B --> C(主框架上的 EntireX 代理):::process
B --> D(主框架上的 WebSphere MQ):::process
C --> E(网络):::process
D --> E
E --> F(LUW 上的事件复制器目标适配器):::process
F --> G(目标或目标数据库):::process
H(清空 MQ 队列的程序):::process --> G
```
### 不同复制方式的对比分析
为了更清晰地了解各种复制方式的特点,我们对上述四种复制方式进行对比分析,如下表所示:
| 复制方式 | 适用场景 | 关键组件 | 优势 |
| --- | --- | --- | --- |
| 大型机 Adabas 到大型机 Adabas | 灾难恢复(DIR),实时构建备份数据库 | 源数据库、复制引擎、Entire Net - Work、目标数据库 | 可并行只读使用,灾难时可直接切换读写 |
| 大型机 Adabas 到 LUW 上的 Adabas | 节省批处理时间和成本,避免网络组件使用 | 源数据库、复制引擎、大型机 WCP、网络、LUW WCP、WCL、目标数据库 | 利用复制数据库节省资源 |
| 大型机 Adabas 到非 Adabas 数据库 | 为现成软件提供数据,配合非 Adabas 复制软件 | 源数据库、复制引擎、EntireX 代理、WebSphere MQ、事件复制器目标适配器、目标数据库、清空 MQ 队列程序 | 实现不同类型数据库间的复制 |
### 总结
数据复制在现代数据管理中具有重要意义,不同的复制方式适用于不同的场景。通过合理选择复制方式和配置相应的组件,可以实现数据的高效备份、实时同步和跨平台迁移。在实际应用中,需要根据具体的需求和环境,仔细评估各种复制方式的优缺点,以确保数据的安全性和可用性。同时,对于复制过程中涉及的参数设置和缓冲区管理等细节也需要格外关注,以避免出现数据不一致或性能问题。
0
0
复制全文
相关推荐










