Scylla, a distributed Cassandra-compatible NoSQL database in excess of a million requests per second per node
Scylla is a new NoSQL database that applies systems programming techniques to a horizontally scalable NoSQL design to achieve extreme performance improvements. Scylla is capable of exceeding one million requests per second per node, while providing Apache Cassandra compatibility, scaling, and geographical distribution properties. The Scylla design is based on a modern shared-nothing approach. The Scylla design is based on a modern shared-nothing approach. As in operating system and relational database projects, a new architecture for the NoSQL server is necessary because of new growth in, and limitations of, modern server hardware. As CPU core counts continue to grow, along with the raw speed of networking and storage devices available on a modern system, software design approaches that were valid and safe even a few years ago are no longer sustainable. Scylla eliminates known performance bottlenecks of existing NoSQL servers by running multiple engines, one per core, each with its own memory, CPU and multi-queue NIC. Scylla bypasses key performance bottlenecks that can affect NoSQL server performance using per-core memory allocation to avoid locking, and asynchronous I/O for storage to bypass the system page cache. With Scylla, NoSQL projects can avoid performance uncertainties up front in order to deploy a system that performs and scales with a low risk of unpredictable performance issues later.
Avi Kivity, CTO of ScyllaDB, is known mostly for starting the Kernel-based Virtual Machine (KVM) project, the hypervisor underlying many production clouds. He has worked for Qumranet and Red Hat as KVM maintainer until December 2012. Avi is now CTO of ScyllaDB, a company that seeks to bring the same kind of innovation to the NoSQL space.