ScyllaDB

From GM-RKB
Jump to navigation Jump to search

A ScyllaDB is an open-source distributed NoSQL column-oriented data store.



References

2021

  • (Wikipedia, 2021) ⇒ https://en.wikipedia.org/wiki/Scylla_(database) Retrieved:2021-3-15.
    • Scylla is an open-source distributed NoSQL column-oriented 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++20 language replacing Cassandra's Java, and the Seastar [1] asynchronous programming library replacing threads, shared memory, mapped files, and other classic Linux programming techniques. In addition implementing Cassandra's protocols, Scylla also implements the Amazon DynamoDB API. [2] 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, [3] 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. [4] Independent testing has not always been able to confirm such 10-fold throughput improvements, and sometimes measured smaller speedups, such as 2x. [5] A 2017 benchmark from Samsung observed the 10x speedup on high-end machines - the Samsung benchmark reported that Scylla outperformed Cassandra on a cluster of 24-core machines by a margin of 10–37x depending on the YCSB workload.

      Scylla is available as either an on-premises solution, on the major public cloud providers or as a DBaaS (Scylla Cloud).

=== * https://github.com/scylladb/scylla