[公告] SynchDB 1.0 發布 - 用於即時資料庫同步的 PostgreSQL 擴充套件

由 Hornetlabs Technology Inc 於 2024-12-27 發布
相關開源

SynchDB 1.0 發布說明

發布日期:2024 年 12 月 24 日

我們很高興宣布 SynchDB 1.0 的發布! 此 PostgreSQL 擴充套件能夠將多個異質資料庫(MySQL、MS SQL Server)的資料無縫同步到 PostgreSQL。 SynchDB 原生處理所有資料同步,無需中介軟體,為即時資料複製和整合提供高效的解決方案。

此版本解決了 1.0 beta1 版本中發現的效能和資源問題,並引入了多個新實用程式,用於微調 SynchDB 的行為和效能。

新功能

效能改進

  • 在 DML 解析階段實作資料快取,以減少 PostgreSQL 目錄訪問
  • 在 Debezium 執行器中新增節流控制,以防止 JVM 記憶體累積
  • 透過在單個 PostgreSQL 交易中處理批次,顯著提高了處理速度

新函數和視窗

  • synchdb_start_engine_bgw(name, mode):新增自定義快照模式參數
  • synchdb_log_jvm_meminfo(name):用於 JVM 堆積記憶體使用監控的除錯函數
  • synchdb_stats_view:用於連接器統計資訊的新視窗
  • synchdb_reset_stats(name):用於清除連接器統計資訊的函數

配置增強

  • 為 Debezium 執行器效能調整新增了新的 GUC
  • 使 JVM 最大堆積記憶體分配可配置
  • 在規則檔案中啟用連接器特定的 SSL 參數配置
  • 使連接器背景工作程序的數量上限可配置

變更

  • 增強的 synchdb_state_view()
  • 新增顯示連接器狀態的 'stage' 欄位
  • 僅限顯示有效的連接器
  • 移除部分批次完成通知
  • 將 SQLServer 的預設 char 類型大小映射從 0 更新為 -1

錯誤修復

  • 解決了 SynchDB 和 Debezium 執行器元件中的記憶體洩漏問題
  • 改進了 SynchDB 中的記憶體上下文處理
  • 更正了變更事件處理期間的堆積記憶體釋放
  • 修復了 DML 處理期間的 SPI 記憶體使用情況

已知問題

  1. 自動連接器啟動器限制
  2. 僅啟動在預設 postgres 資料庫下建立的連接器工作程序
  3. 問題追蹤:github.com/Hornetlabs/synchdb/issues/71

  4. ALTER TABLE ALTER COLUMN 限制

  5. 無法處理複雜的資料類型變更(例如,TEXT 到 INT)
  6. 不支援欄位索引變更
  7. 無法處理重新命名的欄位
  8. 問題追蹤:github.com/Hornetlabs/synchdb/issues/77

  9. 連接器狀態持久性

  10. 重新啟動已暫停的連接器會恢復操作,而不是維持暫停狀態
  11. 問題追蹤:github.com/Hornetlabs/synchdb/issues/80

資源

關於 SynchDB

SynchDB 是由 Hornetlabs Technology 開發的開源 PostgreSQL 擴充套件。 它支援從異質資料庫(MySQL、MS SQLServer、Oracle 等)直接將資料複製到 PostgreSQL,具有高效能和可靠性。 該擴充套件處理所有同步需求,無需中介軟體或第三方軟體。