2018年3月16日 星期五

[套件分享]開源跨平台資料庫複寫軟體 - SymmetricDS


過去幾年有關注過 SymmetricDS 這一套資料庫複寫軟體,隨著時間推進版本提升不少,目前已經來到 3.9.0 版,漸漸成熟。



功能介紹

SymmetricDS 是資料庫複寫為主的軟體,重點功能:
  • 跨平台
  • 多執行緒設計
  • 自動回復機制
  • 交易處理
  • 支援多 Master
  • 傳輸時做篩選、轉換 
  • 以資料表為主的模式
  • 支援 Push 或 Pull 兩種傳輸模式
  • 採用 HTTP/HTTPS 傳輸
  • 提供 API


對於不支援複寫的資料庫系統,可以透過 SymmetricDS 來達到需求,或是因為特殊應用(如自訂多主多從)、授權費用議題。

同步機制提供 Push 與 Pull 兩種,對於不同的效能要求、資料即時或網路環境來活用,創造彈性。






異質整合


更棒的是,它也支援異質資料庫同步,大大提升資料庫架構設計的彈性。

依據官網所述,目前支援的資料庫項目有:
  • Amazon Redshift
  • Apache Derby
  • Apache Ignite
  • Firebird
  • Greenplum
  • DB2 for LUW
  • DB2 for i
  • DB2 for z/OS
  • H2
  • HSQLDB
  • Informix
  • Interbase
  • MariaDB
  • MongoDB
  • MySQL
  • NuoDB
  • Oracle
  • PostgreSQL
  • SQL Anywhere
  • SQL Server
  • SQL Server Azure
  • SQLite
  • Sybase ASE
  • Tibero
  • VoltDB

我想...在大部份情況下,應該夠用了吧。

我們可以假設一種場景,客戶希望主要的資料庫使用知名品牌,例如 Oracle、SQLServer 等,但複寫目標端因為經費不夠,採用開源的資料庫系統如 MariaDB、PostgreSQL。

在過去,可能會自行開發資料庫同步程式解決,但有了 SymmetricDS 之後,我們可以很容易的解決這個難題。



參考資料