ScyllaDB
By ScyllaDB
ScyllaDB is an open-source, wide-column NoSQL database written in C++ that is API-compatible with Apache Cassandra and Amazon DynamoDB. It targets workloads that need very high throughput and low, predictable latency by using a…
Definition
ScyllaDB is an open-source, wide-column NoSQL database written in C++ that is API-compatible with Apache Cassandra and Amazon DynamoDB. It targets workloads that need very high throughput and low, predictable latency by using a shard-per-core architecture that avoids the garbage-collection pauses common in Java-based databases like Cassandra. It addresses the problem of Cassandra clusters needing many nodes and careful JVM tuning to hit strict latency targets, aiming to deliver the same data model and query language with fewer nodes and more predictable tail latency under heavy concurrent load.
Overview
ScyllaDB was created to address performance limitations observed in Apache Cassandra, which is written in Java and can suffer latency spikes from JVM garbage collection under heavy load. ScyllaDB reimplements the same wide-column data model and query language, CQL, in C++, using a shard-per-core design where each CPU core owns a dedicated slice of memory and data, communicating with other cores through message passing rather than shared locks. This architecture, built on the Seastar framework, lets a single ScyllaDB node use hardware resources more fully than Cassandra typically does, since work is partitioned per core rather than contended across shared memory structures managed by a garbage-collected runtime. Mechanically, each core in a ScyllaDB node runs its own event loop and owns a fixed slice of the node's data and connections, so cross-core coordination happens through explicit message passing instead of locks, which is what removes both lock contention and unpredictable garbage-collection pauses from the request path. Because ScyllaDB supports the Cassandra Query Language and wire protocol, applications and drivers written for Cassandra can often connect to ScyllaDB with minimal changes, and the same wide-column data model applies: rows are grouped into partitions identified by a partition key, and data within a partition is sorted by clustering columns. ScyllaDB also offers an Alternator API layer that emulates Amazon DynamoDB's API, letting teams run DynamoDB-compatible workloads outside of AWS or migrate away from DynamoDB without rewriting application code, which sets it apart from Cassandra itself, which has no comparable DynamoDB compatibility layer. It is distributed with no single point of failure, replicating data across nodes in a ring topology similar to Cassandra, and supports multi-datacenter deployments for geographic distribution and disaster recovery. In practice, teams adopt ScyllaDB either as a direct replacement for an existing Cassandra deployment to reduce node counts and operating cost, or as a low-latency store for time-series ingestion, real-time recommendation lookups, and messaging backends. It is available as open-source software, a self-managed enterprise edition, and ScyllaDB Cloud, a fully managed database-as-a-service offering, giving teams a choice between full operational control and a managed experience. The tradeoffs mirror those of other wide-column stores: ScyllaDB is not a general-purpose relational database, lacks native support for complex joins and ad hoc queries, and requires careful data modeling around partition keys to avoid hotspots. Teams migrating from Cassandra generally see lower latency and fewer nodes needed for the same throughput, but the underlying data modeling discipline required is largely unchanged, and workloads needing flexible relational queries are better served by a different kind of database entirely.
Key Features
- Shard-per-core C++ architecture avoiding JVM garbage-collection pauses
- Wire-compatible with Apache Cassandra's CQL and drivers
- Alternator API providing DynamoDB-compatible access
- Peer-to-peer, masterless replication with no single point of failure
- Multi-datacenter replication for geographic redundancy
- Available as open source, self-managed enterprise, and managed cloud
- Built-in workload prioritization for mixed transactional and analytical loads
- Lower node counts required for equivalent throughput versus Cassandra