This week, we released VoltDB v8.2. Here are some of the highlights:
If you’ve ever built a high-volume app for Volt, or hooked Volt up to a Kafka or Kinesis stream, you know how important it is to age out the old data so that you don’t overflow memory. In the past, you had to implement your own application code to do the deletes. We just made this much, much easier. You can add a Time To Live (TTL) constraint to any table with a timestamp column and VoltDB will schedule small deletes to remove older data. For an example of how this works, see the adperformance demo in the examples/ directory. When the TTL starts cleaning up the incoming event data half-way into the 2-minute client run, the performance stays the same.
Improved performance when restoring snapshots with views
VoltDB recovery and snapshot restore just got faster for databases with a lot of views. All snapshots now contain view data in them, so not all views need to be recalculated as the data loads. For table JOIN views, the savings can be large.
DESCRIBE table-name in sqlcmd
VMC has always had a nice description of tables, now it’s just as easy to get this information in sqlcmd.
New option to create cluster-wide unique file names on file export
Exporting rows to .csv files is a convenient way to get portable files for other uses, but if you’ve ever tried to hook up a SAN to all your nodes to collect all the files, you’d notice that the files coming from different nodes can have the same filenames. We now support a new configuration property, uniquenames, to ensure uniqueness across the cluster and prevent any overwrites.