Skip to content
Navigation

Type at least two characters. Search covers page titles, headings, tags and database names.

↑ ↓ to navigateEnter to openEsc to close0 pages
Wide Columnintermediate

ScyllaDB

C++ reimplementation of the Cassandra data model on a shard-per-core runtime, with no JVM and self-tuning schedulers.

2 min readIntermediateUpdated Edit this page

What it is

A reimplementation of Cassandra's data model, CQL dialect and wire protocol in C++ on the Seastar framework. Open Source is AGPLv3; an Enterprise edition is available commercially.

Architecture

Shared-nothing applied inside the machine: each CPU core is a shard owning a slice of the node's data, with its own memory and scheduler and no locks on the data path. There is no JVM, so no garbage collection pauses. I/O and CPU schedulers meter compaction, repair and streaming against user traffic rather than relying on fixed throughput limits.

Best use cases

The same workloads as Cassandra, plus:

  • Latency-sensitive deployments where JVM pauses were causing p99 problems.
  • Deployments where consolidating onto fewer, larger nodes reduces cost meaningfully.

When not to use it

  • The same exclusions as Cassandra: ad-hoc queries, joins, read-modify-write, analytics.
  • When you depend on a Cassandra feature ScyllaDB implements differently or not yet — verify against the exact version.
  • When your tooling assumes JMX; ScyllaDB exposes Prometheus metrics and a REST API instead.

Data model

Identical to Cassandra. Everything in Cassandra Data Modeling applies, with one added consideration: partition key cardinality must be judged against the cluster's shard count, not its node count.

Consistency and transactions

Identical: tunable per-query consistency levels, atomic single-partition writes, lightweight transactions via Paxos.

Scaling model

Adding nodes or cores adds capacity. Because a partition maps to one core, a hot partition saturates a single shard — making key design if anything more important than in Cassandra.

Replication

The same replication model, strategies and repair obligations. ScyllaDB adds repair-based node operations, which make bootstrap and replacement resumable rather than restarting from zero.

Backup and recovery

Snapshots as in Cassandra, orchestrated by ScyllaDB Manager, which also schedules repair. The same per-node, non-point-in-time consistency caveat applies.

Monitoring

Prometheus metrics with per-shard granularity. scylla_reactor_utilization per shard is the key metric — node averages hide a saturated core completely.

Common mistakes

Production checklist

See ScyllaDB Production Checklist.