Apache Cassandra 4.0 Features Increased Speed And Scalability

TFIR: Open Source, Cloud Native & AI/ML - A podcast by TFiR Media LLC

Categories:

Cassandra Database reaches 4.0. Nearly six years on from the release of Apache Cassandra 3.0, the community behind the popular open-source distributed database has announced the release of v4.0 of Apache Cassandra. Patrick McFadin, VP of Developer Relations at DataStax, and Ben Bromhead, CTO of Instaclustr, are with Swapnil Bhartiya to talk about it. The first issue to be addressed is the importance Cassandra holds in the modern world. McFadin starts off by talking about what workloads Cassandra is focused on, which are websites and mobile applications. McFadin says, "When you use a mobile app on your phone, you're probably using Cassandra." Since its inception, Cassandra has developed into a "really awesome, general-purpose database," adds Bromhead. More importantly, he makes mention of scalability when he says, "As people reach the limits of scalability or availability when it comes to some of the other databases out there (such as MySQL and PostgreSQL), we see developers reaching for Apache Cassandra." The discussion then shifts to the new features available in Cassandra v4.0. Bromhead talks about structural changes based around the Netty networking framework, which has enabled several really cool features, such as zero-copy streaming which allows an Apache Cassandra node to stream the data it's responsible for and leads to wire-level streaming speeds between nodes. Practically speaking, that means users can now run denser nodes. The 4.0 release also saw the deprecation of the Thrift protocol, in favor of the CQL protocol, which was a major change. As far as the upgrade process is concerned, version 4.0 should be considerably easier than previous releases. "If you had been upgrading Cassandra, before, like in the three and twos, there was always a long list of intermediate patches that you had to put into place, or you had to do some extra work mid-upgrade. Because of that, the developers decided it was of utmost importance to make it simple," explains McFadin. Bromhead calls out to developers and admins to "not stress too much about this one. Still run through all the track checks and the standard processes you do. But again, this has been pretty well battle-tested." To further highlight the upgrade process, McFadin mentions that the maintainers had a lot of discussion about the project and how improvements to the upgrade start at the developer level. McFadin says, "Instead of just having someone drop code in and ask everyone what they think, we have a proposal process. So you outline the change that you want to make, we have good discussions about it, and make some changes before there's actual code." Processes like this certainly go a long way in making a project more stable over time.