Live CDC replication

Migrate Couchbase to
PlanetScale

Migrate Couchbase to PlanetScale with live CDC replication, automatic schema mapping, and zero downtime. Production-ready in minutes, not weeks.

Start migrating free →Read the docs

Real Bucket & Scope Hierarchy

Couchbase has real buckets, scopes, and collections. NoSQLSync lists your actual buckets and collections (including non-default scopes) instead of a placeholder.

No guesswork

Schema Discovery

Documents within a collection can carry different fields. NoSQLSync samples documents via N1QL to build a complete schema covering every observed field.

Union schema

Type Coercion Engine

Couchbase JSON types map cleanly to SQL: string → TEXT, number → INTEGER/DOUBLE, boolean → BOOLEAN, array/object → JSONB.

Auto type mapping

Offset-Paginated Bulk Load

Full-collection scans page through N1QL LIMIT/OFFSET, creating a primary index automatically if one doesn't already exist — the same 'ensure what's needed' approach used for SQL targets.

Auto-indexing

One-time Migration Only

Couchbase's native change protocol (DCP) isn't exposed by the official Node SDK at all — Couchbase's own docs point teams at a Kafka connector instead. Rather than build an unverified low-level DCP client, live sync isn't offered for this source yet.

Honest scope, no dual-write
How it works

Three steps to PlanetScale

1
Connect your Couchbase
Paste your Couchbase connection string. NoSQLSync detects all collections/tables and samples documents/items to infer the full schema — including nested structures.
2
Review the schema & map columns
Our auto-mapper converts Couchbase types to PlanetScale types. Review and adjust: rename columns, change types, flatten nested structures, or use JSON/JSONB for flexible fields.
3
Launch migration & monitor
Click launch. Watch records flow in real time with throughput charts, latency metrics, and error alerts. Enable live CDC to keep your SQL target in sync until cutover.

Type mapping: Couchbase → PlanetScale

PlanetScale speaks the MySQL wire protocol. Connect it as a MySQL target using your PlanetScale connection string — every MySQL type mapping below applies unchanged.

ObjectId / String IDCHAR(36) / VARCHAR(255)Identifier as string-based primary key
StringVARCHAR(n) / TEXT / LONGTEXTConfigurable length limits
Number / IntegerINT / BIGINTNumeric types
Double / DecimalDOUBLE / DECIMALFloating point or fixed precision
Date / TimestampDATETIME / TIMESTAMPDate/time columns
BooleanTINYINT(1)MySQL boolean convention
Array / ListJSONMySQL native JSON type
Object / Map / Nested docJSONFlexible schema fields as JSON
Binary / BytesBLOB / MEDIUMBLOBBinary data support
Null / MissingNULLNullable columns

Frequently asked questions

Does this support live sync (CDC) for Couchbase?

Not yet. Couchbase's native change protocol (DCP) isn't exposed by the official Node SDK — Couchbase's own documentation points teams at a Kafka connector for that instead. One-time (bulk) migration is fully supported; live sync isn't offered rather than shipped as something shakier.

Does this work with non-default scopes and collections?

Yes. NoSQLSync lists collections across every scope in the bucket, not just the default one.

Does my bucket need a primary index?

No — NoSQLSync creates one (CREATE PRIMARY INDEX IF NOT EXISTS) if the collection doesn't already have one, the same way it creates tables on SQL targets that don't exist yet.

How long does a migration take?

A typical 100 GB dataset migrates in under 2 hours with bulk mode. With CDC enabled, ongoing writes sync in real time. Total time depends on data volume and network throughput.

Is my data secure during migration?

Yes. All data is encrypted in transit (TLS 1.3) and at rest (AES-256). Database credentials use short-lived tokens. Migration workers run in an isolated environment and never store data after the job completes.

Can I roll back if something goes wrong?

Yes. NoSQLSync only reads from your source — it is never modified, and CDC keeps running until you stop it. If you hit a problem after cutover, point your application's connection string back at the source.

Other migration paths from Couchbase

See the full Couchbase migration guide →

Couchbase → PostgreSQLCouchbase → MySQLCouchbase → BigQueryCouchbase → SnowflakeCouchbase → RedshiftCouchbase → ClickHouseCouchbase → SQL ServerCouchbase → MariaDBCouchbase → SupabaseCouchbase → Neon

Ready to migrate to PlanetScale?

Connect your Couchbase and PlanetScale instances. No credit card required.

Start free migration →View pricing