Live CDC replication

Migrate Cassandra to
ClickHouse

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

Start migrating free →Read the docs

Real Schema, Not Sampling

A CQL table already has a defined, typed schema. NoSQLSync reads it directly from system_schema.columns instead of sampling rows — more accurate than schema inference on a document store.

Schema-based introspection

Composite Key Handling

Cassandra tables commonly use a partition key plus clustering columns. When a table has more than one key column, NoSQLSync combines them into a single composite key column rather than risking distinct rows colliding on upsert.

No silent data loss

Paginated Bulk Load

Full-table scans page through Cassandra's native paging state, so tables of any size migrate without loading everything into memory at once.

Cursor-based paging

Type Coercion Engine

CQL types map cleanly to SQL: text/uuid → VARCHAR, int/bigint → INTEGER/BIGINT, list/set/map → JSONB, timestamp → TIMESTAMPTZ.

Auto type mapping

One-time Migration Only

Cassandra's CDC writes raw commit-log segments an external system must parse — there's no documented driver API for it. Rather than fake a shakier alternative, live sync isn't offered for this source yet.

Honest scope, no dual-write
How it works

Three steps to ClickHouse

1
Connect your Cassandra
Paste your Cassandra 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 Cassandra types to ClickHouse 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: Cassandra → ClickHouse

ObjectId / String IDStringStored as the 24-character hex string
StringStringNative ClickHouse String
Number / IntegerInt32 / Int64Signed integer types
Double / DecimalFloat64 / DecimalFloating or decimal precision
Date / TimestampDateTime64High-precision timestamp
BooleanBoolNative ClickHouse Bool
Array / ListArray(String) / JSONTyped array or JSON
Object / Map / Nested docJSON / NestedObject as JSON or Nested type
Binary / BytesStringBinary stored as String
Null / MissingNullable(type)Nullable column wrappers

Frequently asked questions

Does this support live sync (CDC) for Cassandra?

Not yet. Cassandra's CDC feature writes raw commit-log segments to disk that an external system has to parse — there's no documented driver API for consuming CDC events. One-time (bulk) migration is fully supported; live sync isn't offered rather than shipped as something shakier.

What happens to tables with a composite primary key?

Very common in Cassandra data modeling. NoSQLSync combines the partition key and clustering columns into a single composite key column for the SQL primary key, keeping every original column intact alongside it — this avoids distinct rows silently colliding during migration.

Can I migrate only specific tables?

Yes. Choose which keyspace and table to migrate — NoSQLSync lists your real keyspaces and tables. Each table 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 Cassandra

See the full Cassandra migration guide →

Cassandra → PostgreSQLCassandra → MySQLCassandra → BigQueryCassandra → SnowflakeCassandra → RedshiftCassandra → SQL ServerCassandra → MariaDBCassandra → SupabaseCassandra → NeonCassandra → PlanetScale

Ready to migrate to ClickHouse?

Connect your Cassandra and ClickHouse instances. No credit card required.

Start free migration →View pricing