dbswitch异构数据库迁移工具
dbswitch是一个异构数据库迁移工具,提供源端数据库向目的端数据的迁移功能,包括全量和增量方式。
迁移包括:
- 结构迁移
字段类型、主键信息、建表语句等的转换,并生成建表SQL语句。
- 数据迁移
基于JDBC的分批次读取源端数据库数据,并基于insert/copy方式将数据分批次写入目的数据库。
支持有主键表的 增量变更同步 (变化数据计算Change Data Calculate)功能(千万级以上数据量慎用)
功能设计
详细功能
-
源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2向目的端为Greenplum/PostgreSQL的迁移(支持绝大多数常规类型字段)
-
源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2向目的端为Oralce的迁移(支持绝大多数常规类型字段)
-
源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2向目的端为SQLServer的迁移(字段类型兼容测试中...)
-
源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2向目的端为MySQL/MariaDB的迁移(字段类型兼容测试中...)
-
源端oracle/SqlServer/MySQL/MariaDB/PostgreSQL/DB2向目的端为DB2的迁移(字段类型兼容测试中...)
结构设计
-
模块结构设计
-
模块结构功能
└── dbswitch ├── dbswitch-common // dbswitch通用定义模块 ├── dbswitch-pgwriter // PostgreSQL的二进制写入封装模块 ├── dbswitch-dbwriter // 数据库的通用批量Insert封装模块 ├── dbswitch-core // 数据库元数据抽取与建表结构语句转换模块 ├── dbswitch-sql // 基于calcite的DML语句转换与DDL拼接模块 ├── dbswitch-dbcommon // 数据库操作通用封装模块 ├── dbswitch-dbchange // 基于全量比对计算变更(变化量)数据模块 ├── dbswitch-dbsync // 将dbchange模块计算的变更数据同步入库模块 ├── dbswitch-data // 工具入口模块,读取配置文件中的参数执行异构迁移同步 ├── dbswitch-webapi // dbswitch-core与dbswitch-sql的RESTful接口模块 ├── package-tool // 基于maven-assembly-plugin插件的项目打包模块
评论