2025年9月25日: PostgreSQL 18 发布!

SynchDB 1.2 发布 - 原生 Oracle 连接器、增强的监控与快速部署工具

发布于 2025-09-08,作者:Hornetlabs Technology Inc
相关开源项目

发布日期:2025 年 9 月 4 日

我们很高兴地宣布 **SynchDB 1.2** 发布!此次更新引入了原生 Openlog Replicator Oracle 连接器、具有 JMX 和 Grafana 集成的全面监控功能,以及简化了测试和设置的便捷部署工具。

SynchDB 继续致力于在不使用中间件的情况下,实现从多个数据库平台到 PostgreSQL 的无缝、原生数据同步,现在还提供了改进的性能和增强的操作可见性。

主要增强功能

原生 Openlog Replicator 连接器 - BETA

  • 原生 Oracle 流式传输 - 新连接器类型 olr,直接与 Openlog Replicator 服务通信,无需 Debezium 依赖
  • 支持必要的 DML(insert、update、delete)和关键 DDL,包括 CREATE/DROP TABLE、ALTER TABLE 操作和 TRUNCATE
  • 基于 libprotobuf-c 实现高效通信,并使用 IvorySQL 的 Oracle 解析器进行 DDL 处理
  • 支持完整的快照模式(initial、initial_only、no_data、always、never),并具备批处理和偏移量管理功能

增强的监控与可观察性

  • 通过 synchdb_add_jmx_conninfosynchdb_del_jmx_conninfo 函数实现 JMX 集成
  • 通过 JMX Exporter 支持 Prometheus 和 Grafana,提供专用的连接管理功能
  • 为 MySQL、SQL Server 和 Oracle 连接器提供预构建的 Grafana 仪表盘模板
  • 为生产环境监控收集全面的指标

简化的部署与测试

  • ezdeploy.sh 工具 - 一键部署脚本,用于快速测试和开发
  • 支持 MySQL、SQL Server、Oracle(19c 和 23ai)以及 Openlog Replicator 1.3.0 的部署
  • 自动设置 Prometheus 和 Grafana,并预加载仪表盘
  • 提供预编译的 SynchDB v1.2 二进制文件,可立即进行测试

性能与可靠性改进

  • 选择性快照表功能 - 在 always 模式下,可以选择特定表进行初始快照
  • 通过直接缓冲区而非频繁的 JNI 调用,提升事件轮询性能
  • 改进的连接器隔离 - 每个 SynchDB 扩展现在维护独立的连接器数据
  • 通过基于 hammerdb 的 TPC 测试增强 pytest 框架,支持 Oracle

与上一版本的变更

  • synchdb_add_conninfo 中新增 snapshot table 参数,用于精细化快照控制
  • 连接器恢复操作现默认采用 initial 快照模式,以保持一致性
  • synchdb_state_viewsynchdb_stats_view 现在仅显示当前扩展的连接器
  • 改进了内存管理和上下文处理

已修复的问题

  • 解决了与 SPI 内存上下文清理相关的 spi_execute_select_one() 中的崩溃问题
  • 修复了 PostgreSQL 使用 cassert 编译时出现的编译问题
  • 修正了不同数据库中同名连接器之间的共享内存冲突

已知问题和注意事项

  • 原生 Openlog Replicator 连接器目前会流式传输指定数据库中的所有表
  • 表过滤必须在 Openlog Replicator 中配置,而不是 SynchDB
  • Prometheus 和 Grafana 监控功能需要 JMX Exporter

资源

关于 SynchDB

SynchDB 是 Hornetlabs Technology 开发的开源 PostgreSQL 扩展。它能够以高性能和高可靠性实现从异构数据库(MySQL、MS SQL Server、Oracle 等)到 PostgreSQL 的直接数据复制。该扩展无需中间件或第三方软件即可满足所有同步需求。

我们非常感谢您一如既往的支持和反馈,我们将努力使 SynchDB 成为最强大的 PostgreSQL 数据库同步工具。您的测试、错误报告和功能请求有助于我们确定开发优先级。

诚挚地,

Hornetlabs Technology SynchDB 团队