跳转至

关于

synchdb

关于 SynchDB

SynchDB 是一个 PostgreSQL 扩展,支持从异构数据库(例如 MySQL、SQL Server 和 Oracle)直接快速可靠地复制到 PostgreSQL。与传统的数据管道不同,SynchDB 在 PostgreSQL 内部原生处理整个同步和数据转换过程,无需任何中间件或外部编排工具。它主要管理以下端到端任务:

  • 建立并维护与外部数据库的连接
  • 从源系统捕获变更事件
  • 将这些事件转换为与 PostgreSQL 兼容的格式
  • 将它们应用于 PostgreSQL

SynchDB 的核心集成了 Debezium 嵌入式引擎,这是一个基于 Java 的强大变更数据捕获 (CDC) 库,支持多种数据库连接器。 SynchDB 使用 Java 原生接口 (JNI) 连接 PostgreSQL 基于 C 语言的运行时和 Debezium 的 Java 环境,从而实现两者之间的无缝协作。

这种架构使 PostgreSQL 能够充分利用 Debezium 丰富的连接器生态系统,同时保持扩展的轻量级、灵活性和易于部署。

🔗 了解更多关于 Debezium 的信息,请点击此处 (https://debezium.io/documentation/reference/stable/index.html)。

主要特性

  • 高效的数据同步
  • 支持从 MySQL、SQL Server 和 Oracle 数据库复制
  • 灵活的数据转换规则,包括表名、列名、数据类型和自定义数据转换表达式
  • 轻松与现有 PostgreSQL 数据库集成
  • 初始快照和变更数据捕获 (CDC) 模式
  • 支持 DDL 和 DML 逻辑复制
  • 全局连接器状态、错误和统计信息配置

支持的 PostgreSQL 版本

  • PostgreSQL:16、17
  • IvorySQL:4

支持的源数据库

  • MySQL:8.0.x、8.2
  • SQL Server:2017、2019、2022
  • Oracle:12c、19c、21c、23ai
  • Openlog Replicator:1.3.0

所需的第三方库

  • Java Runtime Environment(JRE)17 或更高版本
  • libprotobuf-c v1.5.2(如果需要 Openlog Replicator 支持)

版本历史

快速入门

开始使用 SynchDB 的最快方法是使用预编译的 Docker 镜像以及源数据库系统(MySQL、SQL Server、Oracle 等)的配套镜像,所有这些镜像均由源存储库中的 ezdeploy.sh 工具驱动。此交互式工具可以启动 SynchDB、一个或多个源数据库,以及可选的 Prometheus + Grafana 用于监控,非常适合进行快速的端到端测试。请参阅 快速入门指南

其他实用链接: