What ScyllaDB Does
- CQL compatibility — drop-in for Cassandra
- DynamoDB compatibility — via Alternator
- Shard-per-core — one thread per CPU core, no lock contention
- User-space I/O — bypass kernel for networking and storage
- Workload prioritization — classify and prioritize queries
- Incremental compaction — avoid disk space amplification
- Materialized views — auto-maintained denormalized tables
- LWT (lightweight transactions) — Paxos-based linearizable operations
- Change Data Capture — stream CDC events
Architecture
Built on Seastar (userspace C++ framework). Each CPU core owns a shard of data with no shared state — eliminating lock contention and context switching. Userspace TCP stack (DPDK optional) and direct I/O to disk.
Self-Hosting
# 3-node cluster
version: "3"
services:
scylla-node1:
image: scylladb/scylla:latest
command: --seeds=scylla-node1 --smp 4 --memory 8G
scylla-node2:
image: scylladb/scylla:latest
command: --seeds=scylla-node1 --smp 4 --memory 8G
scylla-node3:
image: scylladb/scylla:latest
command: --seeds=scylla-node1 --smp 4 --memory 8GKey Features
- Cassandra + DynamoDB wire compatibility
- Shard-per-core architecture
- Sub-millisecond P99 latency
- Linear scaling
- Workload prioritization
- Incremental compaction
- Materialized views
- Change Data Capture
- ScyllaDB Manager for ops
- ScyllaDB Monitoring Stack
Comparison
| Database | Protocol | Architecture | Language |
|---|---|---|---|
| ScyllaDB | CQL + DynamoDB | Shard-per-core | C++ |
| Cassandra | CQL | JVM threads | Java |
| DynamoDB | DynamoDB API | Managed | Proprietary |
| HBase | Custom | Region servers | Java |
| Redis Cluster | RESP | Shard per node | C |
FAQ
Q: Is it really 10x faster than Cassandra? A: Yes under specific benchmarks. Key differences: C++ without GC, shard-per-core lock-free design, and userspace I/O. Actual gains depend on your workload.
Q: Is migrating from Cassandra hard? A: No. The CQL protocol and drivers are compatible, and the data format is the same. Most projects can migrate in a few hours.
Q: AGPLv3 restrictions? A: If you modify the source and offer it as a network service, you must open source your modifications. Self-use and embedding in applications are not affected. The commercial edition includes professional support and enterprise features.
Sources
- Docs: https://docs.scylladb.com
- GitHub: https://github.com/scylladb/scylladb
- License: AGPLv3