DBSyncer是一款开源的数据同步中间件,提供MySQLOracleSqlServerPostgreSQLElasticsearch(ES)KafkaFileSQL等同步场景。

支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。

特点:

  • 组合驱动,自定义库同步到库组合,关系型数据库与非关系型之间组合,任意搭配表同步映射关系
  • 实时监控,驱动全量或增量实时同步运行状态、结果、同步日志和系统日志
  • 开发插件,自定义转化同步逻辑

设计

架构图



推荐一个开源数据同步神器,支持多种数据源和预警功能!_MySQL

应用场景

连接器

数据源

目标源

支持版本(包含以下)

MySQL



5.7.19以上

Oracle



10gR2 -11g

SqlServer



2008以上

PostgreSQL



9.5.25以上

ES



6.0以上

Kafka

开发中


2.10-0.9.0.0以上

File



*.txt, *.unl

SQL



支持以上关系型数据库

后期计划

Redis



使用教程

  1. 启动 代理 和 数据库 服务

推荐一个开源数据同步神器,支持多种数据源和预警功能!_开源_02

  1. 准备测试账号,test

推荐一个开源数据同步神器,支持多种数据源和预警功能!_MySQL_03

  1. 分配sysadmin角色

推荐一个开源数据同步神器,支持多种数据源和预警功能!_开源_04

  1. 分配指定数据库权限

推荐一个开源数据同步神器,支持多种数据源和预警功能!_自定义_05

PostgreSQL

通过复制流技术监听增量事件,基于内置插件pgoutputtest_decoding实现解析wal日志

1、修改postgresql.conf文件,重启服务

wal_level=logical

2、授予账号权限LOGINREPLICATION

File

监听文件修改时间得到变化文件,通过文件偏移量读取最新数据

https://gitee.com/ghi/dbsyncer/issues/I55EP5

ES

  • 定时获取增量数据。
  • 账号具有访问权限。

日志

建议MySQL、SqlServer、PostgreSQL都使用日志



推荐一个开源数据同步神器,支持多种数据源和预警功能!_数据库_06

定时

假设源表数据格式



推荐一个开源数据同步神器,支持多种数据源和预警功能!_数据库_07

推荐一个开源数据同步神器,支持多种数据源和预警功能!_数据库_08

预览

驱动管理



推荐一个开源数据同步神器,支持多种数据源和预警功能!_开源_09

驱动详情



推荐一个开源数据同步神器,支持多种数据源和预警功能!_MySQL_10

驱动表字段关系配置



推荐一个开源数据同步神器,支持多种数据源和预警功能!_数据库_11

监控



推荐一个开源数据同步神器,支持多种数据源和预警功能!_开源_12

上传插件



推荐一个开源数据同步神器,支持多种数据源和预警功能!_MySQL_13

开源地址

https://gitee.com/ghi/dbsyncer