Announcing VoltDB v3.0 – Preview Release

written by John Piekos on September 27, 2012 with no comments

Announcing VoltDB v3.0 – Preview Release

The next major release of VoltDB, version 3.0, is right around the corner.  In anticipation of this release, we’re announcing a preview release of the v3.0 offering, available immediately.  A brief overview and details on how you can preview this exciting release is found below.
What is VoltDB v3.0?

The VoltDB v3.0 release includes a set of user-visible features, including new SQL (specifically column functions), ad hoc SQL execution performance, Export enhancements, online schema changes, and a more streamlined application development process.  Under the covers, however, VoltDB v3.0 includes a new transaction coordination architecture that reduces latency and improves transaction throughput.

We’ve worked hard over the past 6 months to reduce overhead within the VoltDB cluster by streamlining transaction and query processing.   As part of this release, we’ve significantly reduced intra-node communication and also eliminated our dependency on synchronized clocks (via NTP) between cluster nodes for user transaction processing.

As a result, VoltDB v3.0 offers significantly higher throughput and lower latency, as well as offering easier installation and configuration, particularly in the cloud.

Immediate benefits of VoltDB v3.0 include the following:

  • Lower overall latency
  • Higher throughput
  • Scale-out improvements – clusters with larger numbers of nodes
  • Scale-up improvements – nodes with 10gE and more CPUs
  • Low latency synchronous Client API
  • Client affinity (for writes)
  • Elimination of dependency on NTP

How Can You Get the VoltDB v3.0 Technical Preview?

The VoltDB v3.0 Technical Preview is available on a per-request basis immediately.  To request a copy, please email us at betasupport@voltdb.com.  Note that this is a preview release and should only be used for evaluation purposes – it should not be put into production.

We are planning an open beta in November on a functionally complete code base, with plans to release VoltDB v3.0 at the end of this year.

The VoltDB v3.0 Technical Preview supports all current v2.8 functionality, including full durability with snapshots and command logging and ad hoc query throughput performance.   It’s nearly a fully functional VoltDB database with the exception that the following functionality is not yet supported:

  • Partition Detection
  • Live Node Rejoin
  • Database Replication

Partition detection and live node rejoin will be available in our open Beta in November.
Under The Covers of the VoltDB v3.0 Architecture

VoltDB v3.0 comprises an architectural change to the transaction serialization implementation within a VoltDB cluster. Specifically, the VoltDB transaction coordination strategy has been re-architected and significantly improved.  In VoltDB versions 1.x and 2.x, transactions were globally ordered and ordered according to time. Each node on the cluster communicated with every other node to agree upon transaction ordering.  Maintaining a global agreement based on time caused VoltDB to incur additional latency – intra-node communication agreement involving all nodes. This architecture required users to synchronize cluster node clocks using NTP, because any time drift between nodes would introduce artificial, unneeded latency to the system.  This overhead, and the strict need to maintain clock synchronization has been eliminated from the VoltDB v3.0 code base.

For a deeper dive into the technology that makes VoltDB v3.0 tick, please see the following blog posts:

What to Expect from the VoltDB Technical Preview

Interacting with VoltDB v3.0 should feel similar, on the surface, to VoltDB v2.x.  Simply install the preview kit, rebuild your application catalog, and run your VoltDB application.

Should you find any unexpected behavior, please let us know via the VoltDB forums, or by dropping us an email at betasupport@voltdb.com.  We’d love to hear our feedback – thanks for your interest in VoltDB.