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
ScyllaDBbeginner

ScyllaDB Overview

A C++ reimplementation of the Cassandra data model on a shard-per-core runtime — what that changes and what it does not.

2 min readBeginnerUpdated Edit this page

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.