失效链接处理 |
PostgreSQL数据库复制与CDC实施方案 PDF 下载
本站整理下载:
相关截图:
主要内容:
1. 基本概念
PostgreSQL 数据库复制功能是指实时保持 PostgreSQL 主从库数据一致,同
时从库可以提供查询服务降低主库负载。
CDC(Change Data Capture)变化数据捕获的简称,用于实时捕获 PostgreSQL
数据库变化数据,并将捕获的数据向其它数据库(同构或异构)或应用系统
同步。
Beedup提供 PostgreSQL数据库复制与 CDC一体化方案,通过解析 PostgreSQL
数据库的 wal 日志,将解析的结果数据封装为 DML 或 DDL 并按照事务单元在
目标库执行,实时保持主从库数据一致。复制的同时软件在从库额外创建数
据变化轨迹表,通过将日志解析的每一条数据顺序存入轨迹表提供 CDC 服务,
第三方程序通过读取该表记录即可实现增量数据采集。
2. 操作配置
2.1 数据库参数
打开主库配置文件 postgresql.conf,进行如下设置:
开启归档
archive_mode = on
wal 日志级别设置为 replica 或 logical
wal_level = replica
保存设置后重新启动 PostgreSQL 数据库。
2.2 复制任务设置
整库复制
启动 Beedup 程序后,新建复制任务,在弹出的对话框中依次设置主库和
从库连接参数,勾选【全量复制】选项,操作如下:
启用 CDC
选择【集成】按钮,在弹出的【集成选项】对话框中勾选【变化跟踪】,
操作如下:
选择【返回】按钮关闭【集成选项】对话框,选择【确定】按钮完成任
务设置。
2.3 运行复制任务
启动任务,首先复制主库历史数据到从库,历史数据复制完成后,任务
自动进入增量复制模式,当主库执行 DML 或 DDL 操作时,复制任务通
过读取解析主库 wal 日志数据,还原为 DML 或 DDL 并在从库执行,开
启 CDC 时,复制任务会将解析的数据顺序写入变化轨迹表。
下图显示增量数据复制结果,pgAdmin 中显示当主库新增三条数据后
可在从库查询对应数据,Beedup 日志窗口显示在从库执行的 DML 操
作,Beedup 预览对话框显示从库 CDC 表对应的数据,包含变更数据日
志序列号(wal_lsn)、变更数据对应的 DML 类型(ins/upd/del),数据
变更事务时间等信息。
3. 运维管理
3.1 数据一致性
Beedup 支持主从表的差异比对及回补功能,确保数据完全一致。
右键点击 Beedup 左侧窗口中的数据库表节点,弹出的快捷菜单
从中选择【差异比对】,即可对主从表进行比对效验。
从中选择【差异回补】,程序会根据数据比对结果更新从表数据。
|