Skip to content

SynchDB 1.0 Beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@caryhuang caryhuang released this 25 Oct 22:08
· 38 commits to main since this release
8a9af39

Release Date: October 23, 2024

We're thrilled to announce the beta release of SynchDB 1.0! This PostgreSQL extension is designed to seamlessly synchronize data from multiple heterogeneous databases, such as MySQL and MS SQL Server, directly to PostgreSQL. SynchDB manages all data synchronization without requiring middleware, making it an efficient, streamlined solution for real-time data replication and integration.

Requirements

  • PostgreSQL 16
  • Java Runtime Environment 17 or later

Core Features

  • Supports logical replication from heterogeneous databases (MySQL and SQLServer)
  • Supports DDL replication
    • CREATE TABLE
    • DROP TABLE
    • ALTER TABLE ADD COLUMN
    • ALTER TABLE DROP COLUMN
    • ALTER TABLE ALTER COLUMN
  • Supports DML replication (INSERT, UPDATE, DELETE)
  • Supports max 30 concurrent connector workers
  • Supports automatic connector launcher at PostgreSQL startup
  • Supports global connector state and last error message views
  • Supports selective databases and tables replication
  • Supports change events in batches
  • Supports connector restarts in different snapshot modes
  • Supports offset management interfaces to select custom replication resume point
  • Supports default data type and object name transform rules for supported heterogeneous databases
  • Supports JSON rule file to define custom:
    • Data type transform rules
    • Column name transform rules
    • Table name transform rules
    • Data expression transform rules
  • Supports 2 data apply modes (SPI, HeapAM API)
  • Supports several utility functions to perform connector operations:
    • start
    • stop
    • pause
    • resume

Known Issues

  • Automatic connector launcher only launches connector workers created under the default postgres database (#71)
  • ALTER TABLE ALTER COLUMN does not handle:
    • Complex data type changes (e.g., from TEXT -> INT)
    • Column index changes
    • Renamed columns
      (#77)
  • Cannot specify X509 certificate and private key to connect to heterogeneous databases via TLS (#78)
  • The last_dbz_offset column from synchdb_state_view() does not reflect the current data offset, but rather the last offset value flushed to disk (#79)
  • Restarting a paused connector will cause it to resume when restarted, rather than starting it in paused state (#80)
  • memory leak issue in synchdb
  • java heap memory in JVM may run out if the source tables are too big - need throttle control there