NoSQL: ScyllaDB scales flexibly with replication architecture from Google
With the tablet replication architecture, version 6.0 of the NoSQL database aims to distribute its content faster and more flexibly in the cluster.
(Image: Gorodenkoff/Shutterstock.com)
Scylla has released version 6.0 of its NoSQL database ScyllaDB. The open source database, which has been designed for high performance since its inception, learns a new replication architecture with the current release.
The release also brings improvements with regard to strictly consistent topology updates and consistent updates for access control.
Replication with Google instead of Cassandra architecture
ScyllaDB 6.0 relies on tablets for data distribution in the cluster. Google first introduced the concept for the distributed database system Bigtable and uses it in its successor Spanner. Tablets comprise several rows of tables. The nodes of Bigtable do not contain the data, but only pointers to the tablets.
(Image:Â Scylla)
Flexible distribution
The load balancer distributes the data dynamically and can change its size if necessary, i.e. split larger tablets or merge smaller ones. The load balancer distributes the split tablets independently to different nodes.
In this way, the system can react flexibly to changes in the requests, the content or the available nodes.
(Image:Â Scylla)
The tablet architecture is more flexible than the concept of replication with virtual nodes, which ScyllaDB adopted from Cassandra and used up to version 5.4.
The current version of ScyllaDB uses the Tablets' architecture by default. If you want to deactivate it because the architecture does not allow lightweight transactions, among other things, you have to create the respective keyspace with the flag tablets = { 'enabled': false }.
Videos by heise
Consistency in the topology
The second major innovation is strictly consistent topology updates. Scylla relies on the Raft algorithm – here the database had already said goodbye to the model Cassandra and its Paxos algorithm in 2023.
ScyllaDB 6.0 activates Raft-based, strictly consistent topology updates for new clusters by default. An article in the documentation explains how to manually convert existing clusters.
In addition to the topology updates, the database now also guarantees strictly consistent authentication updates for Role-Based Access Control (RBAC) and consistent service levels.
Cassandra as a role model, performance in focus
The team behind ScyllaDB first presented the NoSQL database at the Cassandra Summit in 2015. The database was designed for compatibility with Cassandra from the outset, but was intended to be significantly more performant. As it is written in C++, while Cassandra relies on Java, it does not require a Java Virtual Machine (JVM) with the associated garbage collector.
Also for performance reasons, ScyllaDB uses a shared-nothing architecture in which each data fragment receives fixed resources (CPU, RAM, network and persistent memory) to avoid delays and blockages when sharing data between resources.
At the end of 2018, Scylla spoke of an important milestone in the blog for the release of version 3.0, as the company had "surpassed feature parity with Apache Cassandra". In the meantime, the database has gone its own way in some areas, such as with the new tablets instead of VNodes or with Raft instead of Paxos.
Further innovations in ScyllaDB 6.0, such as the node tool for managing nodes from the command line, can be found on the Scylla blog.
(rme)