Blog Static Headline Banner

Volt Active Data 12.0 Now Available

5 min read

Table of Contents

We’re very excited to announce that Volt Active Data 12.0 has been released and is now available! This release is a big one with many important new features that unlock important new capabilities around data storage and Kubernetes. We’ve also deprecated a few features that no longer serve Volt users. 

Here’s a quick break down of what we’ve added and removed. 

New Features

V12.0 introduces the following new features:

1. NO LARGE COMPACTION EVENTS

As tuples are inserted and deleted, small gaps of unused memory are created within the larger allocated blocks. Previously, if the total amount of allocated but unused memory hit a specific high watermark, assuming “delete compaction” is turned on, the database would compact all of the table memory before continuing. As effective as this mechanism was, it could result in unpredictable latency spikes in the live workload.

Now, defragmentation of data storage is performed incrementally on a per table and per partition basis. Since the compaction transactions are much smaller, and also partitioned, they have little or no impact on the ongoing business workload. In addition, you as the database administrator have control over how large those periodic compaction events are and and how often they occur. See the chapter on memory management in the Volt Performance and Customization Guide for more information about the new memory management algorithm.

2. NO HASH MISMATCHES DUE TO ROW ORDER

In the past, developers had to be careful not to introduce non-deterministic behavior into their stored procedures by performing unordered queries. The issue was that, when using K-Safety, different copies of a partition could return results in a different order if you did not include the appropriate ORDER BY clause.

A key aspect of the memory management scheme introduced in V12.0 is that all copies of a partition now always return a query’s results in one deterministic order, even if the query itself is not sorted. This means that queries without an appropriate ORDER BY clause will not cause a hash mismatch.

3. SUPPORT FOR STORING TLS/SSL CREDENTIALS IN KUBERNETES SECRETS

When enabling TLS/SSL in Kubernetes, you can now store your TLS/SSL credentials (including the keystore, truststore, and passwords) in a Kubernetes secret. This avoids having to specify passwords on the Helm command line and simplifies the commands needed to start and update database instances. See the section on configuring TLS/SSL in the Volt Kubernetes Administrator’s Guide for details.

4. EXPIRATION DATES FOR USER ACCOUNTS

You can now specify an expiration date for user accounts in the database configuration file. Once the specified date is past, the associated account can no longer access the database, until the configuration for the user account is updated. The expiration date is optional. See the section on defining users and roles in the Using VoltDB manual for details.

5. NEW LAG() WINDOWING FUNCTION

The LAG() function accesses previous rows from the window results using an offset. See the section on windowing functions in the SELECT reference page for more information.

6. DEDICATED POD FOR VMC AND HTTP API IN KUBERNETES DEPLOYMENTS

By default, Volt in Kubernetes now creates a separate pod for the Volt Management Center (VMC) and HTTP API. This provides a single service name for accessing these resources, as well as a single instance for the entire cluster (rather than separate instances for each host). The new pod is available from the service name {release-name}-voltdb-vmc where {release-name} is the name of the Helm release for the database cluster.

7. SUPPORT FOR UBUNTU 22.04 AND THE ROCKY OS

We’ve added Ubuntu 22.04 and Rocky OS as supported platforms for VoltDB.

Deprecated features

As Volt evolves, certain features get replaced or become obsolete. When this happens, they are deprecated, which means their use is no longer recommended and they will be removed from the product in a future release. 

The following features have been deprecated or removed:

  • The utility kafkaloader10 — To support different versions of the Kafka API, two versions of the kafkaloader utility were provided. Now that support for the older versions of kafka have been dropped, the legacy loader kafkaloader10 has been deprecated and will be removed in a future release.
  • Several obsolete methods in the Java client API that were previously deprecated have now been removed. Those methods were setClientAffinity, setSendReadsToReplicas, and setReconnectOnConnectionLoss.
  • The voltadmin plan_upgrade command — The procedure for upgrading the VoltDB software using limited hardware is no longer supported. The associated command, plan_upgrade, has been removed from the voltadmin utility.

What’s next?

We’re already working on our next minor release, V12.1, which is scheduled for the end of Q4. For more details of candidate features for this or our longer-term roadmap, contact Customer Success, who will be happy to arrange a roadmap session. 

Get Volt Active Data V12.0 

V12.0 is available on the Volt Active Data Enterprise Edition download site. For a more complete look at the new features in V12.0, take a look at our release notes. If you’d like to run Volt Active Data in Kubernetes, contact support@voltactivedata.com to get access to the Volt Active Data Operator for Kubernetes, Volt Active Data Helm Charts, and Volt Active Data Enterprise Container.

Interested in trying Volt?  

Request a demo today and see why Volt is the no-compromise data platform for 5G, IoT, edge computing, and whatever comes next.

TRY NOW


back to top