RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2

ScyllaDB

Product
The name of the base system (platform): Apache Cassandra
Developers: Cloudius Systems
Date of the premiere of the system: 2015/09/23
Technology: DBMS

ScyllaDB - open NoSQL of DBMS.

On September 22, 2015 Cloudius Systems provided ScyllaDB. Within the project the company made an attempt to rewrite Apache Cassandra DBMS to Java in C ++[1].

ScyllaDB provides full compatibility with NoSQL DBMS Cassandra, but allows to achieve significant increase in performance, showing the processing speed of requests and a response at the level of DBMS Redis. DBMS were provided by Avi Kiviti and Dor Laor, in due time they created the known open projects of a hypervisor KVM and the OSv operating system with the embodiment of the idea of applications launch over a hypervisor.

The project code is distributed under license AGPLv3.

As developers said, ScyllaDB provides tenfold increase in capacity of request processing on each node in comparison with original Apache Cassandra, in 99% of cases managing to process a request less than for millisecond. For example, on the standard ScyllaDB node it is capable to process about one million transactions per second. Processing of bigger number of requests on one node allows to reduce significantly costs for a cluster in which for achievement of the set characteristics it will be required 10 times less nodes, than during creation of a cluster on the basis of classical DBMS Cassandra. ScyllaDB also simplifies creation of a stock of performance necessary at processing of atypical peak loads.

Table of comparison of indicators of DBMS, 2015

One of factors which allowed to reach such performance measures - use of the framework of C developed by authors ++ Seastar aimed at creation of the difficult server applications processing requests in an asynchronous mode. Seastar considers features of the modern equipment, such as parallelization on multicore systems, accounting of hit of data in a processor cache, optimization for the drives SSD, direct access to queue of packets on the network interface card and complete utilization of capacity of 10/40-gigabit network interface cards.

Comparison of a delay time, 2015

A system is constructed on the basis of architecture of shared-nothing meaning that to each core of CPU the certain isolated processor to whom separate memory is selected becomes attached (there are no delays because of the organization of blocking) and separate queue of packets is tied to the network interface card.

In fact, each process processor of ScyllaDB includes own optimizirvanny TCP/IP stack working in a user space, attached to a separate core of CPU and directly interacting with the network interface card. The integrated network stack supports work with network interface cards based on chips of Intel, for systems with other network adapters the possibility of use of a regular network stack of Linux is provided.

Resource allocation of a system, 2015

ScyllaDB properties: about

  • disposal of delays during the packaging and recovery of integrity of a DB,
  • lack of a garbage collector,
  • possibility of a reconfiguration of a cluster (removal/adding of nodes) without stopping works,
  • linear scalability at which performance is in direct dependence on number of main cores,
  • existence of means for package loading and unloading of large volumes of data from Hadoop and Spark storages.

ScyllaDB supports data storage model on the basis of family of columns (ColumnFamily, hashes with several nesting levels) and allows to use a SQL-like structured query language of CQL (Cassandra Query Language). For connection to ScyllaDB it is possible to use the existing client drivers for Apache Cassandra. ScyllaDB DBMS can be used as transparent replacement of Apache Cassandra.

Notes