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_conninfo
和 synchdb_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_view
和 synchdb_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 团队