ScyllaDB X Cloud has landed. Fast scaling, max efficiency, lower cost. Learn more

Solve latency issues and stop babysitting your database

See how ScyllaDB differs from Apache Cassandra in performance, elasticity, and capabilities such as Workload Prioritization.

Due to unpredictable and sluggish Cassandra performance, finicky manual tuning, very slow release cycles, and lack of critical features, many companies have made the switch from Cassandra to ScyllaDB.

ScyllaDB acts as an Apache Cassandra alternative and replacement with fully supported Cassandra migration capabilities. It provides the same CQL interface and queries, the same drivers, even the same on-disk SSTable format, but with a modern architecture that eliminates Cassandra performance issues, limitations, and operational barriers.

For these reasons and more, ScyllaDB users have realized faster, more consistent performance for their mission-critical applications, saved millions in infrastructure costs, and freed up countless hours previously spent tuning their systems in attempts to get desired levels of performance.

Top 4 Reasons to Switch from Cassandra

Migration is Simple

ScyllaDB and Cassandra are identical where it counts: The CQL protocol and queries, nodetool, SSTables and compaction strategies. ScyllaDB supports many of the same open-source projects and integrations as Cassandra, including Spark, Kafka (using our optimized ScyllaDB connector), Presto, JanusGraph, and many others. ScyllaDB even provides a Spark-based ScyllaDB Migrator to automate the process.

ScyllaDB vs Apache Cassandra: Feature Comparison

Is ScyllaDB the right Cassandra alternative for you? Compare features and capabilities.

ScyllaDB Product Roadmaps

Performance
Performance Simplicity Functionality Operations

Performance Shard-per-Core

ScyllaDB’s innovative shard-per-core design divides a server’s resources into shared-nothing units of CPU-core, RAM, persistent storage and network I/O. ScyllaDB runs at near maximum utilization on all available cores of multi-CPU hardware architectures. ScyllaDB’s end-to-end sharded architecture, along with shard-aware drivers means that each client writing or requesting data can send queries directly to the CPU core responsible for that shard of data. This minimizes hot shards and removes extra hops.

Simplicity Compaction is a Solved Problem

ScyllaDB’s I/O scheduler prioritizes read/write operations class over compactions. When reads and writes spike, ScyllaDB automatically queues compaction activity so that they do not impact your throughput or latencies. ScyllaDB runs compaction at full speed only when there is CPU/disk idle time, with all cores running compactions in parallel.

With Cassandra and its heavier utilization of system resources, you have to worry about and track compactions. When making a Cassandra comparison keep in mind that ScyllaDB requires no brittle tuning.

Functionality Better Elasticity

ScyllaDB enables you to scale up and out efficiently.  Its ability to fully utilize system resources allows ScyllaDB to run on smaller clusters of larger nodes. ScyllaDB’s Raft consensus protocol and Tablets permit scaling out of multiple nodes at a time. Tablets break down token distribution to smaller chunks, and Raft lets the system safely reallocate data across the cluster.

With zero-copy streaming, data is sent over the network in bulk. By transmitting whole SSTables – which are internal database files – transferring data is much more efficient.

When the time comes to scale your Cassandra deployment, you will find that Cassandra can add only one node at a time. Plus, since Cassandra nodes will generally be smaller instances, each addition only brings on a lower amount of storage and compute. As a result, it will take at least 10x longer to expand your cluster. Since expanding your cluster hinders your ability to quickly react to changes, you’re forced to overprovision up-front.

Operations Consistent Topology Changes

ScyllaDB’s cluster metadata and topology changes are managed using Raft for strong consistency, allowing for safe, concurrent, and fast bootstrapping, and consistent metadata and topology modifications. All topology and metadata operations are internally sequenced, ensuring metadata synchronization across nodes. Changes are driven by a centralized process, ensuring these updates are faster and safer, enabling rapid cluster assembly and concurrent changes for maximum elasticity.

With this feature, dozens of nodes can start concurrently, rapidly assembling a fresh cluster, performing concurrent topology and schema changes, and quickly restarting a node with a different IP address or configuration.

Customers Who Switched from Cassandra to ScyllaDB

Shrinking infrastructure costs with ScyllaDB

Comcast Xfinity improved user experience and shrank their cluster from 962 nodes with Cassandra to 78 nodes on ScyllaDB, reducing administrative overhead over 90%.

Read More

Migrating trillions of messages to ScyllaDB

Learn why and how Discord’s persistence team completed their most ambitious migration yet: moving their massive set of trillions of messages from Cassandra to ScyllaDB.

Watch Video

Eliminating volatile latencies with ScyllaDB

Rakuten’s billion-item catalog 6x better performance while shrinking their cluster 70% moving from Cassandra to ScyllaDB. They also eliminated unpredictable latencies.

Watch Video

Reducing cluster size with ScyllaDB

Fanatics replaced 55 nodes of Cassandra with just 6 nodes of ScyllaDB. Discover why the brand that powers all NFL, MLB, NBA, and NHL shops switched to ScyllaDB.

Read More

ScyllaDB is the NoSQL Database of Choice for Companies Large and Small

Hear from the Experts

In this NoSQL Data Migration Masterclass, Jon Haddad and ScyllaDB field experts shares data migration strategies.

John Haddad

Jon Haddad

Distributed Systems Consultant
Rustyrazorblade

Consulting
Lubos Headshot

Lubos Kosco

Software Engineer
ScyllaDB Logo 2024 horizontal

Felipe Mendes

Solutions Architect
ScyllaDB Logo 2024 horizontal
Discord logo
Strava Logo
Zillow Logo

Ready to Get Started?

Frequently Asked Questions

Will my existing applications work without changes?

ScyllaDB was designed as a performance-focused replacement for Cassandra, maintaining compatibility with the CQL interface. Your existing applications should work without code changes since ScyllaDB implements the same query language and protocols. However, you’ll need to update your connection configurations to point to the new ScyllaDB endpoints. While most applications work seamlessly, be sure to test thoroughly in a staging environment first.

ScyllaDB’s performance advantage stems from its shard-per-core architecture – which enables each CPU core to operate as an independent unit with its own isolated memory and resources. Unlike Cassandra, which shards per node and achieves relatively low hardware utilization due to JVM limitations, ScyllaDB’s shared-nothing architecture enables true parallel processing and can fully utilize servers of any size, whether they have 100 cores or even 1,000 cores. ScyllaDB automatically schedules reads, writes, and maintenance tasks with different priority levels, reaching up to 100% CPU utilization. This architecture, combined with shard-aware drivers that provide an additional 15-25% performance boost, enables ScyllaDB to deliver 2-5x better throughput with consistently lower latencies while using far fewer nodes than Cassandra.

There are quite a few. To start, ScyllaDB’s Workload Prioritization lets you consolidate multiple workloads on a cluster without impacting the latency of your most performance-sensitive workloads. Moreover, ScyllaDB also provides heat-weighted load balancing that intelligently distributes workloads based on actual usage patterns, and its compaction process is significantly faster – completing 32x quicker than Cassandra. Additionally, ScyllaDB includes a DynamoDB-compatible API. Then there’s Raft, timeout per query, unified row cache, I/O schedulers, tablets, parallel aggregations, and a lot more. We’d be happy to provide a technical demo of the ones that are most interesting for your project and requirements – just contact us.

ScyllaDB’s LWT implementation is fundamentally more efficient than Cassandra’s, requiring only three round trips instead of four. This performance difference is significant enough that users who previously avoided LWTs in Cassandra due to performance issues might find them viable in ScyllaDB.

The CDC implementation is dramatically different between the two systems. While Cassandra implements CDC as a commitlog-like structure requiring off-box combination and deduplication, ScyllaDB uses CDC tables that shadow the base table data on the same node. ScyllaDB’s CDC data is queryable using standard CQL, comes pre-deduplicated, and includes configurable TTL to prevent unbounded growth. It also integrates easily with Kafka through a CDC Source Connector based on Debezium.

While basic compatibility exists, ScyllaDB offers additional optimizations through shard-aware drivers. These drivers maintain backward compatibility with Cassandra but can provide 15-25% better performance when used with ScyllaDB.

There are two main migration strategies: cold and hot migrations. In both cases, you need to backfill ScyllaDB with historical data. Either can be efficiently achieved with the ScyllaDB Migrator.

The ScyllaDB Migrator is a Spark application that migrates data to ScyllaDB. It can:

    • Read from Apache Cassandra, Parquet, DynamoDB, or a DynamoDB S3 export.
    • Be distributed over multiple nodes of a Spark cluster to scale with your database cluster.
    • Rename columns along the way.

For more details, see Simplifying Cassandra and DynamoDB Migrations with the ScyllaDB Migrator.

Trending Cassandra Resources