ScyllaDB Overview
A C++ reimplementation of the Cassandra data model on a shard-per-core runtime — what that changes and what it does not.
ScyllaDB implements the Cassandra data model, CQL dialect and wire protocol in C++ on the Seastar framework. The data model, consistency levels and cluster topology are the same; the execution engine is not.
What is the same
Everything in Cassandra Data Modeling, Consistency Levels and Tombstones applies unchanged. Partition keys, clustering keys, query-first design, tunable consistency, repair obligations and tombstone hazards are identical — because they follow from the data model, not the implementation.
What is different
- Shard-per-core. Each CPU core owns a slice of the node's data and runs a single thread with its own memory, avoiding locks and cross-core coordination. See Shard-per-Core Architecture.
- No JVM. No garbage collection pauses, and no heap tuning as a stability concern. This removes one of the more troublesome operational aspects of running Cassandra.
- Self-tuning schedulers. ScyllaDB meters compaction, repair and streaming against user traffic through I/O and CPU schedulers, rather than relying on manually set throughput limits.
- Typically fewer, larger nodes for the same throughput, which changes the failure blast radius and how you plan capacity.
Best use cases
The same workloads as Cassandra — high write throughput, entity-keyed access, multi-datacenter deployments — with two additional considerations:
- Latency-sensitive workloads where GC pauses in a JVM-based cluster were causing p99 problems.
- Deployments where reducing node count materially reduces cost or operational surface.
When not to use it
- The same exclusions as Cassandra: ad-hoc queries, joins, read-modify-write patterns, analytics.
- When you depend on a specific Cassandra feature or version behaviour that ScyllaDB implements differently or not yet — verify feature parity against the version you would run.
- When your tooling assumes JMX. ScyllaDB exposes metrics through a Prometheus endpoint and a REST API instead.
Licensing
ScyllaDB Open Source is AGPL-licensed, with an Enterprise edition under a commercial licence. Confirm which features you depend on are in the edition you plan to use, as the split has changed over time.