一、介绍
dbsync 项目目标是围绕 PostgreSQL Greenplum ,实现易用的数据的互迁功能
github地址:https://github.com/aliyun/rds_dbsync
支持的功能如下:
1、MySQL -> PostgreSQL/Greenplum(binlog_minner binlog_loader)
功能:基于 MySQL binlog 解析的增量数据同步
状态:可用
2、MySQL -> PostgreSQL/Greenplum mysql2pgsql
功能:以表为单位的多线程全量数据迁移
状态:可用
3、PostgreSQL -> PostgreSQL pgsql2pgsql
功能:pg->pg 全量+增量数据同步
状态:可用
4、PostgreSQL -> PostgreSQL/Greenplum pgsql2gp
功能:基于 PostgreSQL 逻辑日志的增量数据同步
状态:不可用
二、功能1(基于 MySQL binlog 解析的增量数据同步)
1、原理介绍
1.在客户端主机(也可以部署在其他主机)上启动一个临时 PG 数据库,用于临时存放从 MySQL 拉去到的 binlog 数据
2.binlog_miner 从源 MySQL 的一个 binlog 文件开始,拉取和解析 binlog 并存放到临时 PG 中
3.binlog_loader 从临时 PG 中读取增量数据,并做适当的处理,最终批量写入到目标 PostgreSQL 或 Greenplum 中去