ScyllaDB is a
source-available
Source-available software is software released through a source code distribution model that includes arrangements where the source can be viewed, and in some cases modified, but without necessarily meeting the criteria to be called ''open-source ...
distributed Distribution may refer to:
Mathematics
*Distribution (mathematics), generalized functions used to formulate solutions of partial differential equations
*Probability distribution, the probability of a particular value or value range of a varia ...
NoSQL
NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
wide-column data store
A data store is a repository for persistently storing and managing collections of data which include not just repositories like databases, but also simpler store types such as simple files, emails, etc.
A ''database'' is a collection of data that ...
. It was designed to be compatible with
Apache Cassandra
Apache Cassandra is a free and open-source software, free and open-source database management system designed to handle large volumes of data across multiple Commodity computing, commodity servers. The system prioritizes availability and scalab ...
while achieving significantly higher throughputs and lower latencies. It supports the same protocols as Cassandra (
CQL) and the same file formats (SSTable), but is a completely rewritten implementation, using the
C++20 C20 or C-20 may refer to:
Science and technology
* Carbon-20 (C-20 or 20C), an isotope of carbon
* C20, the smallest possible fullerene (a carbon molecule)
* C20 (engineering), a mix of concrete that has a compressive strength of 20 newtons per squ ...
language replacing Cassandra's Java, and the
Seastar
Starfish or sea stars are star-shaped echinoderms belonging to the class Asteroidea (). Common usage frequently finds these names being also applied to ophiuroids, which are correctly referred to as brittle stars or basket stars. Starfish ...
asynchronous programming library replacing classic Linux programming techniques such as threads, shared memory and mapped files. In addition to implementing Cassandra's protocols, ScyllaDB also implements the
Amazon DynamoDB
Amazon DynamoDB is a managed NoSQL database service provided by Amazon Web Services (AWS). It supports key-value and document data structures and is designed to handle a wide range of applications requiring scalability and performance.
History
W ...
API.
ScyllaDB uses a
sharded design on each node, meaning that each
CPU
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
core handles a different subset of data. Cores do not share data, but rather communicate explicitly when they need to. The ScyllaDB authors claim that this design allows ScyllaDB to achieve much better performance on modern
NUMA
Numa or NUMA may refer to:
* Non-uniform memory access (NUMA), in computing
Places
* Numa Falls, a waterfall in Kootenay National Park, Canada
* 15854 Numa, a main-belt asteroid
United States
* Numa, Indiana
* Numa, Iowa
* Numa, Oklahoma
* ...
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, and also claim that a ScyllaDB cluster can serve as many requests as a Cassandra cluster 10 times its size – and do so with lower latencies. Independent testing has not always been able to confirm such 10-fold throughput improvements, and sometimes measured smaller speedups, such as 2x. A 2017 benchmark from
Samsung
Samsung Group (; stylised as SΛMSUNG) is a South Korean Multinational corporation, multinational manufacturing Conglomerate (company), conglomerate headquartered in the Samsung Town office complex in Seoul. The group consists of numerous a ...
observed the 10x speedup on high-end machines – the Samsung benchmark reported that ScyllaDB outperformed Cassandra on a cluster of 24-core machines by a margin of 10–37x depending on the
YCSB
The Yahoo! Cloud Serving Benchmark (YCSB) is an open-source specification and program suite for evaluating retrieval and maintenance capabilities of computer programs. It is often used to compare the relative performance of NoSQL database managemen ...
workload.
ScyllaDB is available on-premises, on major public cloud providers, or as a DBaaS (ScyllaDB Cloud).
History
ScyllaDB was started in December 2014 by the
startup
A startup or start-up is a company or project undertaken by an entrepreneur to seek, develop, and validate a scalable business model. While entrepreneurship includes all new businesses including self-employment and businesses that do not intend to ...
Cloudius Systems (later renamed ScyllaDB Inc.), previously known for having created
OSv. Co-founders were
Avi Kivity
Avi Kivity () is a software engineer who created the Kernel-based Virtual Machine (KVM) hypervisor underlying many production clouds. and Dor Laor. ScyllaDB was released as open source in September 2015, under the
AGPL license. In December 2024, ScyllaDB moved to a
source available
Source-available software is software released through a source code distribution model that includes arrangements where the source can be viewed, and in some cases modified, but without necessarily meeting the criteria to be called ''open-source ...
license.
Its source code and development process is still open to the public on public
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
repositories, but usage on a cluster beyond a certain size requires purchasing a license.
References
{{reflist
External links
Scylla public GitHub repository with source code repository and bug tracker
ScyllaDB Inc. homepageScyllaDB another contender to the open source NoSQL database crownHow Scylla Scaled to One Billion Rows a Second
Bigtable implementations
Cloud databases
Cloud storage
Database caching
Distributed data stores
Free software companies
Free database management systems
Key-value databases
NoSQL
Software that was rewritten in C++
Software using the GNU Affero General Public License
Structured storage