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.

listen Print view
Stylized data center

(Image: Gorodenkoff/Shutterstock.com)

3 min. read
Contents

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.

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.

The database divides the tables into tablets, which it distributes to several nodes in the cluster.

(Image: Scylla)

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.

If a new node is added, it takes over trays from heavily utilized 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

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.

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)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.