Skip to main content

Expedia’s Journey from Cassandra to ScyllaDB

Expedia Group discusses the move from Apache Cassandra to Scylla, how it advanced their business goals, what they learned in the migration process, and how Scylla improved operations.


Expedia Group, Inc is one of the world's largest travel platforms. Currently at Expedia Group, there are multiple applications built on top of Apache Cassandra, which comes with its own set of challenges. Apache Cassandra, written in Java, brings in the onus of managing garbage collection, and making sure it's appropriately tuned for the workload at hand. Though garbage collection is tunable, it takes a significant amount of time and effort, as well as expertise, handle and tune GC pauses for every specific use case.  So we end up adding buffer nodes to handle this peak capacity, which results in more infrastructure costs. Another significant worry is based on the past four years' history, the number of Apache Cassandra releases has significantly slowed down.

Why did we end up with Scylla DB? From an Apache Cassandra codebase, it's frictionless for developers to switch over to Scylla DB. For the use cases that we tried, there weren't any data model changes necessary, and the Scylla DB driver was entirely compatible, and a swap-in replacement with Cassandra driver dependency. Thanks to the C++ backend of ScyllaDB, we no longer have to worry about "stop the world" GC pauses. Also, we were able to store more data per node and achieve more throughput per node, thereby saving significant dollars for the company. A clear roadmap and support from the Scylla DB Slack community comes in very handy.