Dromara 社区新晋开源项目 dbswitch,异构数据库迁移同步工具!

来源: 投稿
2023-11-27 10:39:00

一个适用于异构数据库迁移同步的简单工具dbswitch

作者介绍

 

dbswitch的诞生

你需要将Oracle等老牌数据库中的数据一键搞到MySQL或PostgreSQL中么?你需要将MySQL等关系型数据库中的数据一键搞到Greenplum/ClickHouse等OLAP数据库中进行分析么?

如果你在工作中遇到与我同样的需求,那么不妨体验下dbswitch工具。

dbswitch是在数据库间数据搬迁数据入仓入湖这两大背景环境下诞生的,虽然目标路程还很长,但是dbswitch作为一款开源工具会一直再努力坚持着(也许各个数据库厂商都有自己的专业迁移工具)。

dbswitch的功能

简言之,dbswitch提供源端数据库向目的端数据库的批量迁移同步功能:

  • 结构迁移:

(1)支持字段类型、主键信息、建表语句等的转换,并生成建表SQL语句。

(2)支持基于正则表达式转换的表名与字段名映射转换。

  • 数据同步:

(1)基于JDBC的分批次读取源端数据库数据,并基于jdbc(insert/copy方式)将数据分批次写入目的数据库。

(2)支持有主键表(基于数据比对变化计算原理的)增量变更(insert/update/delete)同步功能

dbswitch支持的数据库

当前基于驱动隔离已经集成支持多版本的数据库产品如下:

  • 甲骨文的Oracle
  • 微软的Microsoft SQLServer
  • MySQL/MariaDB
  • PostgreSQL
  • Greenplum(需使用PostgreSQL类型)
  • IBM的DB2
  • Sybase数据库
  • 国产达梦数据库DMDB
  • 国产人大金仓数据库Kingbase8
  • 国产翰高数据库HighGo
  • 国产神通数据库Oscar
  • 国产南大通用数据库GBase8a
  • Apache Hive(基于JdbcStorageHandler)
  • SQLite3
  • OpenGuass
  • ClickHouse
  • MongoDB

dbswitch的部署体验

1.一键部署

  • 基于docker-compose的一键安装(或升级):
curl -sSL https://gitee.com/inrgihc/dbswitch/attach_files/1551962/download | sh
  • 基于docker的一键安装:

假设已经部署好的MySQL数据库地址为192.168.31.57,端口为3306,账号为test,密码为123456

docker run -d --name dbswitch \\
 -e MYSQLDB_HOST=192.168.31.57 \\
 -e MYSQLDB_PORT=3306 \\
 -e MYSQLDB_USERNAME=test \\
 -e MYSQLDB_PASSWORD='123456' \\
 -v /tmp:/tmp \\
 -p 9088:9088 \\
 registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.8.2

2.部分截图

 

  • 二次集成开发

dbswitch也支持java下二次集成开发,具体可查看dbswitch项目中的文档说明。

关注dbswitch

欢迎体验使用dbswitch工具,同时项目中也提供了dbswitch相关的实现原理。

友情项目

[1] Greenplum一键安装

[2] 新闻文章正文抽取正文抽取组件

展开阅读全文
点击加入讨论🔥(2) 发布并加入讨论🔥
2 评论
10 收藏
分享
返回顶部
顶部