Introduction to Apache Cassandra® 4.0
Usability Improvements: Virtual Tables
Let’s start with what this release brings to developers. First, virtual tables are a great new feature that allows you to access data about a node as if it were in a table using CQL. The available information includes node configuration settings, metrics, and, in future releases, even the ability to execute some simple operational commands like compactions. This is a much simpler interface to use than JMX (which is still present) and saves you needing to open an additional port.
Observability And Security Improvements: Full Query Logging And Audit Logging
Cassandra 4.0 includes a new internal query logger which can efficiently route query metadata to plugins without impacting read or write path performance. There are two built-in plugins which you can enable:
- a full query logger, which is useful for debugging how your client applications are interacting with Cassandra
- an audit logger, which is useful for your security team to monitor who is accessing what data and ensure compliance
Communication Improvements: Async Internode Messaging And Zero-Copy Streaming
Cassandra 4.0 includes improvements in how nodes communicate with each other for better performance, scalability, and reliability. Blocking synchronous calls have been replaced with asynchronous internode messaging for improved throughput for all interactions between nodes. When new nodes join the cluster, zero-copy streaming enables SSTables to be streamed straight from disk to the new node without having to load data into memory, greatly reducing the time it takes to bootstrap the new node into the cluster.
Reliability Improvements: Repair
Cassandra has several built-in mechanisms for making sure your data stays in sync across multiple replicas in a cluster, including data stored on disk in SSTables. If you’ve operated a Cassandra cluster in production, you’re aware of the need to run repairs periodically on the nodes in your cluster. Cassandra 4.0 includes major improvements to the incremental repair algorithm to fix some tricky reliability bugs that could occur in prior releases.
Performance Improvements: Garbage Collection Support
Java garbage collection pauses have historically been the cause of the highest tail latencies in Cassandra and other Java-based databases. Cassandra 4.0 includes support for Java 11, unlocking the possibility of using two new fully-supported garbage collector implementations: ZGC and Shenandoah.
Items related to Cassandra 4.0