SOLUTION · REPLICATE TO COCKROACHDB
Real-time data replication to CockroachDB from your operational databases
Committed changes from your systems of record reach CockroachDB continuously, instead of waiting for a scheduled load or a one-time import.
Gluesync by MOLO17 captures changes from Oracle, SQL Server, PostgreSQL, MySQL, IBM i, MongoDB, and other heterogeneous sources with a dedicated agent per database. The CockroachDB agent writes them through a built-in JDBC driver that speaks the PostgreSQL wire protocol, after a snapshot seeds each table. Core Hub, the Gluesync control plane, runs every pipeline from one web UI and REST API.
WHO THIS IS FOR
Teams that need CockroachDB to track its sources, not a one-time copy
- Platform engineers moving a system of record from Oracle, SQL Server, or MySQL to distributed SQL, who need CockroachDB to follow the source while the move is in progress
- Data platform leads who want one Core Hub for every source feeding CockroachDB instead of one connector product per source, backed by best-in-class enterprise support, rated 4.9/5 by customers
- Architects designing applications on CockroachDB who want a source agent beside each system and one control plane for every pipeline, deployed with Docker, Docker Compose, or Kubernetes
- Engineers who run Debezium or logical replication scripts today and want every source delivered to CockroachDB by one product, with snapshots and monitoring built in
THE PROBLEM
CockroachDB data loaded in one pass drifts from its source
Teams moving data into CockroachDB usually start with a one-time export and import, then find that the source keeps changing while the load runs. Scheduled extracts leave the distributed database behind the systems of record, every extract adds read load to production, and each source needs its own tooling. Teams looking for real-time CockroachDB ingestion or a CockroachDB CDC pipeline usually weigh Debezium with a Kafka sink, managed ELT services such as Fivetran or Airbyte, AWS DMS and similar replication services, one-time import utilities, or scripts their own team keeps running.
Gluesync addresses that with per-agent CDC into CockroachDB. A source agent reads each database's native change log, journal, or change stream; Core Hub routes the changes; the CockroachDB agent applies them as they arrive, in commit order per entity, after a snapshot seeds each table. Whether the source is Oracle, PostgreSQL, or IBM i, the pipeline model and the operations stay the same.
HOW IT WORKS
How Gluesync writes to CockroachDB
Optimized batches, never row by row, over the PostgreSQL wire protocol
The CockroachDB agent uses a built-in JDBC driver that connects through the PostgreSQL wire protocol. It is a target agent: it applies the change stream from any Gluesync source agent to your tables in real time. Gluesync never writes one row at a time: inserts, updates, and deletes are grouped into highly optimized JDBC batches, so each round-trip to the cluster carries many rows.
- Configurable batches: the size of write and delete batches is configurable per entity.
- TLS: the connection can be encrypted, with the certificate path set in the agent configuration.
- Version coverage: CockroachDB 20.0 and later.
Snapshot first, then real-time changes
- Seed: snapshot batches are replicated into CockroachDB tables for initial loads.
TRUNCATEbefore snapshot can be applied when you want a clean reload. - Stream: after the snapshot, the agent applies the change stream from the source: inserts, updates, and deletes, as they arrive and in commit order per entity.
Keys and duplicate rows
On duplicate key is set per entity. Upsert, the default, overwrites the CockroachDB row with the incoming one. Skip keeps the row already in CockroachDB and raises a warning that lists the skipped keys. Fail stops the entity and reports the error, while other entities in the pipeline keep running.
Identifier case and table layout
CockroachDB folds unquoted identifiers to lower case. Core Hub normalizes target column names and filter clauses to lower case when an entity is saved, and any table created for the entity follows the same case, so queries run without quoting.
What your CockroachDB admin sets up
The agent needs a CockroachDB user with read and write access to the target tables and database, and a TLS certificate for a secure connection. Full statements are in the CockroachDB target setup guide ↗.
- Create a CockroachDB user with read and write access to the target database and its tables.
- Allow the agent host to reach CockroachDB on port 26257, the default port.
- In Core Hub, enter the host or IP address, the database name, the username, and the password for the CockroachDB agent.
- For a TLS connection, provide the certificate, then enable TLS and set the certificate path through the Core Hub REST API.
Query and operate from Core Hub
Lightweight agents sit close to each source. Core Hub orchestrates them through its web UI and REST APIs and routes changes to the CockroachDB agent. A pipeline groups a source agent, the CockroachDB agent, and the entities they replicate. Query Studio, the SQL workbench inside Core Hub, supports CockroachDB, so checking landed rows does not need another client. See Query Studio.
WRITE OPTIONS
The CockroachDB target agent
CockroachDB has one Gluesync target agent. Every Gluesync source agent can feed it, and each entity follows the same snapshot-then-CDC path.
| Agent | Write technique | Versions | Best for |
|---|---|---|---|
| CockroachDB agent ↗ | Built-in JDBC driver over the PostgreSQL wire protocol writing optimized batches; snapshot seeding, then real-time changes applied per entity | CockroachDB 20.0 and later, reached through the PostgreSQL wire protocol | Distributed SQL estates fed from Oracle, SQL Server, PostgreSQL, MySQL, or MongoDB. Pick it when CockroachDB is the destination and every source should stay in sync under one Core Hub. |
SOURCES AND TOPOLOGIES
Feed CockroachDB from the databases you migrate or replicate from
Any Gluesync source agent can feed CockroachDB. Open the integrations finder with CockroachDB pre-selected to see every source you can pair with it.
One Core Hub runs PostgreSQL to CockroachDB and Oracle to CockroachDB side by side, with the same snapshot, monitoring, and duplicate-key settings for each. Gluesync keeps pace with your change volume at any scale, and MOLO17 Professional Services can help plan the cutover with your team.
- PostgreSQL to CockroachDB from the write-ahead log, with the same wire protocol on the target side: see PostgreSQL CDC
- Oracle to CockroachDB from the redo logs, through LogMiner or XStream: see Oracle CDC
- MySQL to CockroachDB from the binlog: see MySQL CDC
- SQL Server to CockroachDB through Change Data Capture or Change Tracking: see SQL Server CDC
FAIR, HIGH-LEVEL COMPARISON
Where Gluesync fits among CockroachDB ingestion approaches
| Approach | What buyers usually get | Where Gluesync fits |
|---|---|---|
| Fivetran and Fivetran HVR | Managed ELT with a broad connector catalog and scheduled syncs; HVR adds log-based database replication. Packaging differs by product | Agents you deploy next to each source, native capture per engine, and JDBC writes into CockroachDB under one Core Hub; see warehouse sync |
| Airbyte | Open-source and cloud ELT connectors; incremental and CDC modes vary by source connector, and you run the platform or use the managed service | A commercial product with a dedicated capture agent per database and MOLO17 support behind every pipeline |
| Debezium, Kafka Connect, and a JDBC sink connector | Open-source capture into Kafka topics, loaded by a sink connector; you run Kafka, Connect, offsets, and schemas, and usually add a step that merges change events into current-state tables | Changes applied to CockroachDB tables by key with no Kafka cluster in the path, while Kafka stays available as another target. See the Debezium alternative page |
| One-time import utilities and the database's own migration tools | Bulk movement of a snapshot; keeping the target current with a live source is a separate job you build and run | Gluesync seeds each table with a snapshot and then keeps applying the source's changes, so the copy does not fall behind while the migration runs |
| AWS DMS, Qlik Replicate, and similar replication services | Mature replication products with broad target lists; CockroachDB support and load method vary by product | Agents that run on premises or in any cloud with Docker, Docker Compose, or Kubernetes and write straight to CockroachDB; see migrating to Gluesync |
| DIY scheduled ELT and scripts | Full control; your team owns extract queries, file staging, merge logic, retries, and the load each run puts on production | Log-based capture, snapshot seeding, and Core Hub monitoring without pipeline code to maintain; read batch ETL vs real-time data replication |
RELATED CONTENT
CockroachDB replication research and implementation detail
FAQ
CockroachDB replication questions
What does replicating to CockroachDB with Gluesync involve?
A source agent captures committed changes from your database through its native change mechanism, Core Hub routes them, and the CockroachDB agent applies them to CockroachDB tables continuously after a snapshot seeds each table.
How does Gluesync write data into CockroachDB?
The CockroachDB agent uses a built-in JDBC driver that connects through the PostgreSQL wire protocol, and writes changes in highly optimized batches with a configurable size.
Which sources can replicate to CockroachDB?
Any Gluesync source agent, including Oracle, SQL Server, PostgreSQL, MySQL, IBM Db2 for i, Db2 for LUW, SAP HANA, and MongoDB. The integrations finder on our website lists every pairing.
Which CockroachDB versions are supported?
CockroachDB 20.0 and later. The agent reaches CockroachDB through the PostgreSQL wire protocol, with TLS available for secure connections.
How are duplicate keys handled in CockroachDB?
Each entity chooses Upsert, which is the default and overwrites the CockroachDB row with the incoming one, Skip, which keeps the existing row and raises a warning listing the skipped keys, or Fail, which stops the entity and reports the error.
How are identifiers named in CockroachDB tables?
CockroachDB folds unquoted identifiers to lower case. Core Hub normalizes target column names and filter clauses to lower case when an entity is saved, and tables it creates follow the same case.
What does the CockroachDB admin need to set up?
A user with read and write access to the target database and tables, network access to CockroachDB on port 26257 by default, and a TLS certificate for secure connections. The host, database name, username, and password are entered in Core Hub.
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 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
- Replicate to YugabyteDB
Evaluate Gluesync with your CockroachDB cluster
Start a trial on your infrastructure, or talk to MOLO17 about your sources, the cluster capacity you need, and the duplicate-key behavior each entity should follow.