Live CDC replication

Migrate Cosmos DB to
BigQuery

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

Start migrating free →Read the docs

Change Feed CDC

Tail the Cosmos DB change feed for inserts and updates in near real time. No Kafka or Debezium to operate — the feed is read directly through the Cosmos SDK.

Native change feed

Real Database & Container Hierarchy

Cosmos DB has genuine databases and containers, unlike some NoSQL sources — NoSQLSync lists your actual databases and containers instead of a single placeholder.

No guesswork

Schema Discovery

Cosmos items within a container can carry different fields. NoSQLSync samples items to build a complete schema covering every observed field.

Union schema

Type Coercion Engine

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

Auto type mapping

Incremental Sync

Migrate historical data in bulk via cross-partition query, then keep new writes in sync via the change feed. Works with containers of any size.

Bulk + streaming

Honest CDC Scope

The change feed's default mode surfaces inserts and updates, not deletes. Run a fresh full sync to reconcile deletions — stated plainly rather than left undocumented.

No dual-write, no fabricated features
How it works

Three steps to BigQuery

1
Connect your Cosmos DB
Paste your Cosmos DB 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 Cosmos DB types to BigQuery 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: Cosmos DB → BigQuery

ObjectId / String IDSTRINGIdentifier as STRING type
StringSTRINGUnbounded UTF-8 string
Number / IntegerINT6464-bit signed integer
Double / DecimalFLOAT64 / NUMERICFloating or fixed-precision numeric
Date / TimestampTIMESTAMPUTC timestamp with microsecond precision
BooleanBOOLStandard boolean
Array / ListARRAY<JSON> / REPEATED fieldRepeated fields or JSON array
Object / Map / Nested docSTRUCT / JSONTyped STRUCT or flexible JSON
Binary / BytesBYTESBinary data as BYTES
Null / MissingNULLABLENULLABLE mode columns

Frequently asked questions

Does Cosmos DB CDC capture deletes?

Not currently. Cosmos DB's default change feed mode (the one NoSQLSync uses) surfaces inserts and updates only — deletes require a separate "all versions and deletes" mode with continuous backups enabled on the account. Run a fresh full sync to reconcile any deletions in the meantime.

Which Cosmos DB API does this support?

The Core (SQL) API — the native Cosmos document API, using the change feed and cross-partition queries described above. Cosmos DB for MongoDB API is a separate wire-protocol compatibility layer with its own change-stream behavior, and isn't covered by this connector.

Can I migrate only specific containers?

Yes. Choose which database and container to migrate — NoSQLSync lists your real Cosmos databases and containers, not a placeholder. Each container becomes a separate SQL table.

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 Cosmos DB

See the full Cosmos DB migration guide →

Cosmos DB → PostgreSQLCosmos DB → MySQLCosmos DB → SnowflakeCosmos DB → RedshiftCosmos DB → ClickHouseCosmos DB → SQL ServerCosmos DB → MariaDBCosmos DB → SupabaseCosmos DB → NeonCosmos DB → PlanetScale

Ready to migrate to BigQuery?

Connect your Cosmos DB and BigQuery instances. No credit card required.

Start free migration →View pricing