[ANNOUNCE] SynchDB 1.0 Released - PostgreSQL Extension for Real-Time Database Synchronization

From: Hornetlabs Technology Inc via PostgreSQL Announce <announce-noreply(at)postgresql(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)lists(dot)postgresql(dot)org>
Subject: [ANNOUNCE] SynchDB 1.0 Released - PostgreSQL Extension for Real-Time Database Synchronization
Date: 2024-12-27 16:49:16
Message-ID: 173531815620.678.17595712145362117993@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

# SynchDB 1.0 Release Notes
**Release Date: December 24, 2024**

We're excited to announce the release of SynchDB 1.0! This PostgreSQL extension enables seamless data synchronization from multiple heterogeneous databases (MySQL, MS SQL Server) directly to PostgreSQL. SynchDB handles all data synchronization natively without middleware, providing an efficient solution for real-time data replication and integration.

This release addresses performance and resource issues identified in the 1.0 beta1 release and introduces several new utilities for fine-tuning SynchDB's behavior and performance.

## New Features

### Performance Improvements
- Implemented data caching in DML parsing stage to reduce PostgreSQL catalog access
- Added throttle control in Debezium runner to prevent JVM memory buildup
- Significantly increased processing speed by handling batches in single PostgreSQL transactions

### New Functions and Views
- `synchdb_start_engine_bgw(name, mode)`: Added custom snapshot mode parameter
- `synchdb_log_jvm_meminfo(name)`: Debug function for JVM heap memory usage monitoring
- `synchdb_stats_view`: New view for connector statistics
- `synchdb_reset_stats(name)`: Function to clear connector statistics

### Configuration Enhancements
- Added new GUCs for Debezium Runner performance tuning
- Made JVM maximum heap memory allocation configurable
- Enabled connector-specific SSL parameter configuration in rule files
- Made maximum number of connector background workers configurable

## Changes
- Enhanced `synchdb_state_view()`:
- Added new 'stage' field showing connector status
- Limited display to valid connectors only
- Removed partial batch completion notifications
- Updated SQLServer's default char type size mapping from 0 to -1

## Bug Fixes
- Resolved memory leaks in both SynchDB and Debezium runner components
- Improved memory context handling in SynchDB
- Corrected heap memory release during change event processing
- Fixed SPI memory usage during DML processing

## Known Issues
1. Automatic connector launcher limitation:
- Only launches connector workers created under the default postgres database
- Issue tracking: github.com/Hornetlabs/synchdb/issues/71

2. ALTER TABLE ALTER COLUMN limitations:
- Cannot handle complex data type changes (e.g., TEXT to INT)
- Does not support column index changes
- Cannot process renamed columns
- Issue tracking: github.com/Hornetlabs/synchdb/issues/77

3. Connector state persistence:
- Restarting a paused connector resumes operation instead of maintaining paused state
- Issue tracking: github.com/Hornetlabs/synchdb/issues/80

## Resources
- GitHub Repository: [SynchDB GitHub](https://github.com/Hornetlabs/synchdb)
- Documentation: [SynchDB Docs](https://docs.synchdb.com/)
- Downloads: [Release v1.0](https://github.com/Hornetlabs/synchdb/releases/tag/v1.0)
- Issue Reporting: [GitHub Issues](https://github.com/Hornetlabs/synchdb/issues)
- Website: [Hornetlabs Technology](https://hornetlabs.ca/)

## About SynchDB
SynchDB is an open-source PostgreSQL extension developed by Hornetlabs Technology. It enables direct data replication from heterogeneous databases (MySQL, MS SQLServer, Oracle, etc.) to PostgreSQL with high performance and reliability. The extension handles all synchronization needs without requiring middleware or third-party software.

Browse pgsql-announce by date

  From Date Subject
Next Message Highgo Software via PostgreSQL Announce 2024-12-27 16:49:44 [ANNOUNCE] IvorySQL 4.0 Released - Enhanced Oracle Compatibility with PostgreSQL 17.0 Foundation
Previous Message The CloudNativePG Contributors via PostgreSQL Announce 2024-12-27 16:45:28 CloudNativePG 1.25.0 and 1.24.2 Released!