Scylla (database)

From Wikipedia, the free encyclopedia
  (Redirected from ScyllaDB)
Jump to navigation Jump to search
Scylla
Developer(s)ScyllaDB Inc.
Initial release22 September 2015; 3 years ago (2015-09-22)
Stable release
2.3.1 / 25 October 2018; 38 days ago (2018-10-25)
Repository Edit this at Wikidata
Written inC++
Operating systemLinux
Typedistributed data store
LicenseGNU AGPL
Websitehttps://www.scylladb.com/

Scylla is an open-source distributed NoSQL data store. It was designed to be compatible with Apache Cassandra while achieving significantly higher throughputs and lower latencies. It supports the same protocols as Cassandra (CQL and Thrift) and the same file formats (SSTable), but is a completely rewritten implementation, using the C++14 language replacing Cassandra's Java, and the Seastar[1] asynchronous programming library replacing threads, shared memory, mapped files, and other classic Linux programming techniques.

Scylla uses a sharded design on each node, meaning that each CPU core handles a different subset of data. Cores do not share data, but rather communicate explicitly when they need to. The Scylla authors claim that this design allows Scylla to achieve much better performance on modern NUMA SMP machines, and to scale very well with the number of cores. They have measured as much as 2 million requests per second on a single machine,[2] and also claim that a Scylla cluster can serve as many requests as a Cassandra cluster 10 times its size - and do so with lower latencies.[3] Early independent testing have not always been able to confirm such 10-fold throughput improvements, and sometimes measured smaller speedups, such as 2x.[4] A recent independent benchmark from Samsung[5] confirms the 10x speedup on high-end (many-core) machines - the Samsung benchmark reported that Scylla outperformed Cassandra on a cluster of 24-core machines by a margin of 10x-37x depending on the workload (they tried four different YCSB workloads).

History[edit]

Scylla was started in December 2014 by the startup Cloudius Systems (later renamed ScyllaDB Inc.), previously known for having created OSv. Scylla was released as open source in September 2015,[6] under the AGPL license. Employees of ScyllaDB Inc. remain the primary coders behind Scylla, but its development is open to the public and uses public GitHub repositories and public mailing lists.

References[edit]

  1. ^ Seastar is an advanced, open-source C++ framework for high-performance server applications on modern hardware.
  2. ^ ScyllaDB: Cassandra compatibility at 1.8 million requests per node by Don Marti (then a ScyllaDB Inc. employee), presented at the Fourteenth Annual Southern California Linux Expo, January 24, 2016.
  3. ^ YCSB cluster benchmark, on the ScyllaDB Inc. website, read February 19, 2017.
  4. ^ ScyllaDB vs Cassandra: towards a new myth?, by Marc Alonso and Thomas Mouron on the octo.com website, December 15, 2015.
  5. ^ "ScyllaDB and Samsung NVMe SSDs Accelerate NoSQL Database Performance", February 2017, Samsung Semiconductor Inc., Section 5: "Cassandra Performance Comparison"
  6. ^ "Cassandra Rewritten In C++, Ten Times Faster", September 22, 2015, Slashdot

External links[edit]