Cloud Parts

ScyllaDB

A C++ rewrite of Cassandra’s design with one shard per CPU core, speaking both CQL and the DynamoDB API.

Type
Commercial product
Made by
ScyllaDB Ltd.
License
ScyllaDB Software License Agreement 1.1 (source-available) since 2025.1; AGPL 3.0 up to ScyllaDB Open Source 6.2
Facts checked
6 October 2026

What it is

ScyllaDB follows Cassandra’s design: a cluster of equal nodes, rows placed by a hash of the partition key, replicas set per keyspace, and a consistency level chosen per request. It speaks Cassandra’s CQL protocol, so Cassandra drivers work, and can import Cassandra’s SSTables. Underneath it is C++ on the Seastar framework rather than Java. Each node is split into shards, one per CPU core: a thread pinned to that core with its own memory and slice of the data. New keyspaces use tablets by default. A table is cut into tablets, each replicated on several nodes, which split as they grow and are moved between nodes and cores by a background load balancer. Schema and topology changes go through Raft. An optional second API, Alternator, accepts DynamoDB’s JSON-over-HTTP requests on a port you enable.

Until version 6.2 (October 2024) there was an AGPL open-source edition beside a paid Enterprise one. In December 2024 ScyllaDB dropped the AGPL edition; since 2025.1 (March 2025) there is a single release under the source-available ScyllaDB Software License Agreement. The code is on GitHub. Free use is capped at 10 TB of storage and 50 vCPUs across all clusters, and excludes offering it as a service. Version 1.1 of the licence (April 2026) limits free use to organisations that haven’t been paying customers in the last 12 months. Anything beyond that needs a commercial licence or ScyllaDB Cloud, a managed service on AWS and Google Cloud priced by instance type, storage and support plan, hourly or on one- to three-year terms, with no per-request charges. The current release is 2026.3.

Why teams pick it

  • Many Cassandra applications move over unchanged: same CQL protocol and drivers, and Cassandra SSTables can be imported
  • No JVM to tune: C++ on Seastar, with each CPU core running its own shard of the data
  • Tablets rebalance automatically and let several nodes join at once, with no manual cleanup afterwards
  • Alternator runs DynamoDB applications on your own clusters or another cloud
  • Raft keeps schema and topology changes consistent across the cluster

Watch out for

  • Not open source any more: free use is capped at 10 TB and 50 vCPUs, excludes SaaS, assigns your modifications to ScyllaDB and allows audits
  • Compatibility targets Cassandra 3.11 with parts of 4.0: no user-defined functions, triggers or Storage Attached Indexes
  • Alternator lacks DynamoDB’s multi-item transactions, per-table throughput limits and backup APIs, and you provide the load balancing
  • Vector search is available only in ScyllaDB Cloud
  • Raft needs a majority of nodes for schema and topology changes, so a two-datacenter cluster loses them if one datacenter fails; ScyllaDB recommends three

Alternatives

What all wide-column stores have in common →

How it fits with other technologies

One node with both APIs: CQL like Cassandra, and the DynamoDB API through Alternator · bash

# CQL on 9042, DynamoDB API (Alternator) on 8000
docker run --name scylla -d -p 9042:9042 -p 8000:8000 scylladb/scylla \
  --alternator-port=8000 --alternator-write-isolation=always

# CQL, exactly as with Cassandra
docker exec -it scylla cqlsh -e "
  CREATE KEYSPACE shop WITH replication = {'class': 'NetworkTopologyStrategy', 'replication_factor': 1};
  CREATE TABLE shop.orders (customer_id text, order_ts timestamp, total decimal,
    PRIMARY KEY (customer_id, order_ts)) WITH CLUSTERING ORDER BY (order_ts DESC);"

# the AWS CLI, pointed at ScyllaDB instead of AWS
export AWS_ACCESS_KEY_ID=none AWS_SECRET_ACCESS_KEY=none AWS_DEFAULT_REGION=us-east-1
aws dynamodb create-table --endpoint-url http://localhost:8000 --table-name carts \
  --attribute-definitions AttributeName=user_id,AttributeType=S \
  --key-schema AttributeName=user_id,KeyType=HASH --billing-mode PAY_PER_REQUEST
aws dynamodb put-item --endpoint-url http://localhost:8000 --table-name carts \
  --item '{"user_id": {"S": "u-42"}, "items": {"N": "3"}}'

Licence and editions#

What you may run for free has changed twice since 2024. From the licence text and ScyllaDB’s announcement:

ScyllaDB Open Source, up to 6.2

AGPL 3.0, ended 2024

The open-source line ran from 2015 to 6.2 in October 2024, beside a paid Enterprise edition. Those versions stay under the AGPL, but there will be no new open-source releases.

ScyllaDB 2025.1 and later

source-available

One release stream for everyone. Free use is limited to 10 TB of total storage and 50 vCPUs across all deployments; you may not offer it as a SaaS or database service or use it to compete with ScyllaDB, and modified versions become ScyllaDB’s property.

Licence 1.1, April 2026

non-customers only

The free licence now applies only to organisations with no commercial relationship with ScyllaDB in the previous 12 months. Paying customers must license all use, except non-production work such as CI and testing within the usage limit.

Commercial licence and ScyllaDB Cloud

per instance

Self-managed subscriptions, or the managed ScyllaDB Cloud on AWS and Google Cloud with Standard, Professional and Premium support plans. Priced by instance type (vCPU and RAM), storage and plan: hourly on demand, one- or three-year subscriptions, or prepaid credits. There are no per-request charges, and a 30-day developer trial.

Alternator or DynamoDB?#

Alternator aims to run DynamoDB applications unmodified. Its compatibility page lists where it still differs:

Amazon DynamoDBScyllaDB Alternator
CapacityOn-demand or provisioned throughput per tableYou size the cluster; billing mode and provisioned throughput are accepted but ignored
EndpointOne Regional endpoint, load-balanced by AWSEvery node listens; you add a load balancer or client-side balancing
TransactionsTransactWriteItems and TransactGetItems, up to 100 itemsNot supported; single-item conditional updates work
Multi-RegionGlobal tables in the Regions you pickEvery table spans the datacenters that existed when it was created
BackupsOn-demand backups and point-in-time recoveryNot through the API; use snapshots or ScyllaDB Manager
Where it runsAWS onlyYour servers, any cloud, or ScyllaDB Cloud

See it in a real stack

No architecture uses ScyllaDB yet. Drop it into the playground and wire it up yourself.Open playground →
Where it came from2012–2026

Avi Kivity and Dor Laor met at Qumranet, where Kivity started KVM, the Linux hypervisor behind many public clouds, and both later worked at Red Hat. Their next company, Cloudius Systems, first built OSv, an operating system for running a single application in a cloud virtual machine. They then turned their kernel and hypervisor experience to a database and wrote a Cassandra-compatible one from scratch in C++, on Seastar, a framework that shards all work onto individual cores. Its first tagged release, 0.10, came in October 2015, and 1.0 followed in March 2016. Cloudius Systems became ScyllaDB.

ScyllaDB was open source under the AGPL, with a paid Enterprise edition. It added a DynamoDB-compatible API, moved schema and topology changes onto Raft and, in 6.0 in June 2024, introduced tablets.

In December 2024 Dor Laor announced that 6.2 would be the last AGPL release. Running two release streams had become too costly, Raft, tablets and S3 integration had pulled once-paid features into the core, and ScyllaDB itself wrote nearly all the code. Since 2025.1 there has been one source-available release, and a 2026 licence update narrowed who may use it for free.

Why it’s built this way

A rewrite in C++, not a fork of Cassandra
The founders came from kernel and hypervisor work and built a new engine from scratch, while keeping Cassandra’s CQL protocol and file formats so applications and drivers could move without changes.
One shard per core, sharing nothing
Seastar gives each core its own requests and data and passes messages between cores instead of sharing memory under locks, so the work scales with the number of cores.
Tablets instead of fixed token ranges
Small, movable pieces of each table let the cluster rebalance in the background and let several nodes join at once, without the manual cleanup that token ranges required.
Leaving the AGPL for a source-available licence
ScyllaDB said maintaining separate open-source and Enterprise releases was unsustainable when it was the only significant contributor and its paid features had moved into the core.

Timeline

  1. 2012

    Cloudius Systems starts OSv, an operating system for cloud virtual machines

  2. 2015

    First tagged Scylla release, 0.10, in October

  3. 2016

    Scylla 1.0 is released in March

  4. 2024

    6.0 introduces tablets; 6.2 becomes the last AGPL release

  5. 2025

    2025.1, the first source-available release, ships in March

  6. 2026

    Licence 1.1 limits free use to organisations that aren’t customers

Sources22 · facts checked 6 October 2026

Improve this page on GitHub