SOLUTION · REPLICATE TO YUGABYTEDB
Real-time data replication to YugabyteDB from your operational databases
Committed changes from your systems of record reach YugabyteDB continuously, in optimized batches through its smart JDBC driver, instead of waiting for the next migration window or dump and restore.
Gluesync by MOLO17 captures changes from PostgreSQL, Oracle, MySQL, SQL Server, MongoDB, and other heterogeneous sources with a dedicated agent per database. The YugabyteDB target agent writes them through the YugabyteDB smart JDBC driver, which is topology-aware, load balances across nodes, and fails over between them. Each table is seeded with a snapshot and then follows the change stream, and Core Hub, the Gluesync control plane, runs every pipeline from one web UI and REST API.
WHO THIS IS FOR
Teams that keep YugabyteDB current with the systems it replaces or feeds
- Architects planning a move from PostgreSQL or Oracle to distributed SQL who want YugabyteDB populated and current before cutover, rather than loaded once in a long freeze window
- Data platform leads who want one Core Hub for every source feeding YugabyteDB, backed by best-in-class enterprise support, rated 4.9/5 by customers
- Application teams running PostgreSQL-compatible services on YugabyteDB who need it kept in sync with another system in both directions, with recursion protection so writes never loop
- Engineers replacing a Debezium pipeline, a scheduled ELT job, or a custom sync script with one product for every source, with snapshots, checkpoints, and monitoring built in
THE PROBLEM
Distributed SQL data that arrives in one-off loads drifts quickly
Teams moving to YugabyteDB, or feeding it from other systems, often rely on a dump and restore, a migration window that freezes writes, or scheduled jobs that copy tables. Each option either leaves YugabyteDB behind the source for the length of the load or adds a second pipeline to build and run. Buyers looking for real-time YugabyteDB ingestion or a YugabyteDB CDC pipeline usually weigh Debezium with Kafka and a JDBC sink, managed ELT services, YugabyteDB's own migration and cluster-to-cluster tools, and scripts they keep running themselves.
Gluesync addresses that with per-agent CDC into YugabyteDB. A source agent reads each database's native change log, journal, or change stream; Core Hub routes the changes; the YugabyteDB target agent applies them through the smart JDBC driver. PostgreSQL to YugabyteDB, Oracle to YugabyteDB, or MongoDB to YugabyteDB all share the same snapshot, pipeline model, and operations.
HOW IT WORKS
How Gluesync writes to YugabyteDB
The write path: the YugabyteDB smart JDBC driver
The YugabyteDB agent connects through the YugabyteDB smart JDBC driver, which knows the cluster topology and routes each connection to a live node. It is a target agent: it receives changes from any Gluesync source agent and writes them to your tables as SQL.
- Load balancing: the
Load balanceoption spreads connections across the nodes of the cluster, and the driver fails over when a node goes away. - Security: the connection supports TLS, configured with a certificate path.
- Ports: the agent connects to the YSQL port, 5433 by default.
- YugabyteDB agent overview ↗
Optimized batches, never row by row
Gluesync never writes one row at a time to YugabyteDB. Incoming changes are grouped into chunks and applied as SQL batch operations, so each round-trip to the cluster carries many rows and the smart driver spreads that work across nodes. Batch size is configurable on the target agent, separately for writes and for deletes, so you can push throughput during an initial load and keep transactions short once the cluster serves production traffic.
Snapshot first, then continuous CDC
- Seed, then stream: snapshot jobs seed each table in YugabyteDB, then the entity follows the source change stream continuously.
- INSERT or UPSERT: INSERT with
TRUNCATEbefore snapshot, which the YugabyteDB agent honors, is the fast path for empty or reset tables; UPSERT merges the snapshot with rows already in the cluster. - Target-side SQL: the agent runs your own SQL before and after each snapshot and before and after CDC starts, for example to adjust session settings or indexes around a large load.
- Resume: an interrupted snapshot resumes from its last saved state when you start the entity again.
- Bidirectional pipelines:
Enable Recursion Protectionfilters out the changes made by the agent's own connection username, so a pipeline that runs in both directions does not feed its own writes back to the source.
Duplicate keys and table creation
- On duplicate key: Upsert is the default, and it overwrites the row already in YugabyteDB with the incoming one. Skip keeps the existing row, writes the rest of the transaction, and raises a warning in Notifications Hub that lists the skipped keys. Fail stops the entity so someone can resolve the conflict. See on duplicate key ↗.
- Table creation: when a target table does not exist, Core Hub's table creation wizard generates the
CREATE TABLEstatement from the source columns, types, and primary key, and you review it before it runs. - Gluesync schema: the agent keeps its own metadata in a dedicated schema, created automatically unless you turn automatic schema creation off.
What your YugabyteDB admin sets up
The agent needs a user with read and write access to the target tables and database. The YugabyteDB target setup guide ↗ lists every field.
- Create or choose a user with read and write permission on the target database and its tables.
- Note the host or IP address, the port (5433 by default), and the database name.
- In Core Hub, add the YugabyteDB target agent with the username and password, and turn on Load balance when the cluster has several nodes to spread connections across.
- Attach the agent to a pipeline with one or more source agents, choose the duplicate-key behavior per entity, and switch on recursion protection for pipelines that also read from the same cluster.
Architecture around Core Hub
Source agents sit close to each database, the YugabyteDB agent sits close to the cluster, and Core Hub coordinates them through its web UI and REST API. Every component deploys with Docker, Docker Compose, or Kubernetes, on-premises or in any cloud. See cloud migration for how the same pipelines keep a target current until cutover.
WRITE OPTIONS
The YugabyteDB target agent: one agent for every entity
YugabyteDB has one Gluesync target agent. Every entity written to it uses the same smart driver path: a snapshot to seed the table, then the change stream applied in optimized batches.
| Agent | Write technique | Versions | Best for |
|---|---|---|---|
| YugabyteDB agent ↗ | YugabyteDB smart JDBC driver with topology-aware load balancing and failover; optimized SQL batches for snapshot and CDC | YugabyteDB 2.0 and later | Distributed SQL clusters that need changes from PostgreSQL, Oracle, MySQL, or document systems applied continuously, including clusters that also feed another system with recursion protection on. |
SOURCES AND TOPOLOGIES
Feed YugabyteDB from the systems you already run
Any Gluesync source agent can feed YugabyteDB, each with its own native capture technique. Open the integrations finder with YugabyteDB pre-selected to see every source you can pair with it, including PostgreSQL-compatible sources for a straightforward move.
Several sources can feed one YugabyteDB cluster through one Core Hub, each pipeline with its own snapshot, duplicate-key behavior, and monitoring. Gluesync keeps pace with your change volume at any scale, and batch sizes and load balancing are configurable on the agent.
- PostgreSQL to YugabyteDB from the write-ahead log: see PostgreSQL CDC
- Oracle to YugabyteDB from the redo logs through LogMiner or XStream: see Oracle CDC
- MySQL to YugabyteDB from the binlog: see MySQL CDC
- MongoDB to YugabyteDB from Change Streams: see MongoDB CDC
FAIR, HIGH-LEVEL COMPARISON
Where Gluesync fits among distributed SQL ingestion approaches
| Approach | What buyers usually get | Where Gluesync fits |
|---|---|---|
| Debezium, Kafka, and a JDBC sink connector | Open-source capture into Kafka topics, then a sink connector writes to the database; you run Kafka and Connect, manage offsets, and decide how change events map to rows | Changes applied to YugabyteDB tables from each source agent, with no Kafka cluster in the path. Read the Debezium alternative comparison |
| YugabyteDB native migration and xCluster replication | YugabyteDB's own tooling for one-time migrations and for replication between YugabyteDB clusters | Continuous changes from other engines such as Oracle, SQL Server, and MongoDB into YugabyteDB under one Core Hub, next to the PostgreSQL-compatible sources |
| Fivetran and Fivetran HVR | Managed ELT and log-based replication with a broad source catalog, oriented toward analytical destinations | Agents installed next to each source, native capture per engine, and one Core Hub for every pipeline; see CDC streaming |
| Airbyte | Open-source and cloud ELT connectors; incremental and CDC modes vary by connector, and you run the platform or use the managed service | A commercial product with a dedicated capture agent per database and MOLO17 enterprise support behind every pipeline |
| Qlik Replicate, AWS DMS, and similar replication services | Mature replication across many engines; target lists and load behavior differ by product | Agents run on-premises or in any cloud with Docker, Docker Compose, or Kubernetes and write straight to YugabyteDB under one Core Hub. See migrating to Gluesync |
| Scheduled ELT jobs and custom sync scripts | Full control; your team owns the extract queries, retries, duplicate handling, and the load each run puts on the database | Log-based capture and batched SQL writes without pipeline code to maintain, with Core Hub monitoring each pipeline |
RELATED CONTENT
YugabyteDB replication background and implementation detail
- YugabyteDB agent for Gluesync: real-time integration with distributed SQL
- YugabyteDB CDC: capture changes from YugabyteDB
- Cloud migration: snapshot plus CDC until cutover
- Debezium alternative: managed CDC versus Kafka + Debezium
- Migrate to Gluesync
- YugabyteDB agent overview ↗
- YugabyteDB target setup guide ↗
- Write strategies: optimized batches ↗
FAQ
YugabyteDB replication questions
What does replicating to YugabyteDB with Gluesync involve?
A source agent captures committed changes from your database through its native change mechanism, Core Hub routes them, and the YugabyteDB target agent applies them to your tables. Each table is seeded with a snapshot first, then follows the change stream continuously.
How does Gluesync write data to YugabyteDB?
Through the YugabyteDB smart JDBC driver, which is topology-aware, load balances connections across nodes, and fails over between them. Changes are grouped into optimized SQL batches whose size is configurable on the target agent.
Which sources can replicate to YugabyteDB?
Any Gluesync source agent, including PostgreSQL, Oracle, MySQL, SQL Server, and MongoDB. The integrations finder on our website lists every source you can pair with YugabyteDB.
What happens when a row already exists in YugabyteDB?
The default Upsert behavior overwrites the existing row with the incoming one. You can also set Skip, which keeps the existing row and raises a warning, or Fail, which stops the entity so someone can review it.
Which YugabyteDB versions does the agent support?
YugabyteDB 2.0 and later, connected through the YugabyteDB smart JDBC driver with TLS support.
What does the YugabyteDB admin need to set up?
A user with read and write permission on the target tables and database, the host or IP address, the port (5433 by default), and the database name. Turn on Load balance to spread connections across the nodes of the cluster.
Can a YugabyteDB pipeline run in both directions without looping?
Yes. Enable Recursion Protection to filter out the changes made by the agent's own connection username, so writes that the pipeline itself made are not sent back to the source.
Can Core Hub truncate YugabyteDB tables before a snapshot?
Yes. INSERT snapshots truncate the target table first by default, and an agent-level setting turns truncation off for every entity that writes through the YugabyteDB agent.
REPLICATE TO A TARGET
Other targets Gluesync delivers to
- Replicate to Aerospike
- Replicate to DynamoDB
- Replicate to Redshift
- Replicate to Amazon S3 & S3-compatible
- Replicate to Cassandra
- Replicate to Kafka
- Replicate to Cosmos DB
- Replicate to Azure Data Lake
- Replicate to ClickHouse
- Replicate to CockroachDB
- Replicate to Couchbase
- Replicate to file stores
- Replicate to BigQuery
- Replicate to Google Cloud Storage
- Replicate to Google Pub/Sub
- Replicate to GridGain
- Replicate to Db2
- Replicate to Informix
- Replicate to MariaDB
- Replicate to SQL Server
- Replicate to MongoDB
- Replicate to MySQL
- Replicate to Oracle
- Replicate to PostgreSQL
- Replicate to RavenDB
- Replicate to Redis
- Replicate to SAP ASE
- Replicate to SAP HANA
- Replicate to ScyllaDB
- Replicate to SingleStore
- Replicate to Snowflake
- Replicate to Solace PubSub+
- Replicate to Vertica
Evaluate Gluesync with your YugabyteDB cluster
Start a trial on your infrastructure, or talk to MOLO17 about your sources, cluster topology, and the duplicate-key behavior each table needs.