What is it all about?
Scylla is the world’s fastest column-store database: the functionality of Apache Cassandra with the speed of a light key/value store. Scylla’s order of magnitude improvement in performance opens a wide range of possibilities. Instead of designing a complex data model to achieve adequate performance, use a straightforward data model, eliminate complexity, and finish your NoSQL project in less time with fewer bugs.
* The Scylla row cache, unlike the original Cassandra cache, is designed to reconcile data in cache with incoming writes. Cassandra’s row cache invalidates the whole partition for a given table on write, but Scylla’s does not. The result is that Scylla can run mixed read/write workloads efficiently. This reduces the need for data model complexity that is only present in order to work around the Cassandra read-before-write problem. Reducing data model complexity can have the indirect result of saving storage bandwidth as well. * Scylla does not need to parse cached data from stable format to in-memory format before serving it, because the Scylla row cache already holds data in the needed format. * Scylla is a new approach to NoSQL data store design, optimized for modern hardware. The typical design of NoSQL data stores (left) consists of a JVM which runs on top of Linux, utilizes the page cache, and uses complex memory allocation strategies to “trick” the JVM garbage collector to avoid stop-the-world pauses. Such a design suffers from sudden latency hiccups, expensive locking, and low throughput due to low processor utilization. * ScyllaDB networking is designed to squeeze the most out of the hardware. No different from the other Scylla components, we optimize the hell out our CPU, our memory management and similarly, the network. Scylla supports two different networking modes—our own native Seastar network stack and the traditional Linux stack.