Skip directly to content


Announcing VoltDB v3.0 – Preview Release

Thursday, September 27, 2012 - 12:00am

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.

Announcing VoltDB Version 2.5

Tuesday, April 10, 2012 - 2:30pm

I’m very happy to announce the release of VoltDB 2.5. Consistent with prior releases, 2.5 includes one major new feature, Database Replication, combined with other significant work in and around the VoltDB core engine. I’d summarize our 2.5 engineering investments as follows:

  • Database Replication. As I’d previously described here, Database Replication is the headline feature of 2.5 (until recently, we referred to the feature as WAN replication). It allows VoltDB databases to be automatically replicated within and across data centers.

Best Practices for Index Optimization in VoltDB

Thursday, November 6, 2014 - 7:00pm

Indexes provide a classic “space for speed” trade-off. They add to the persistent memory footprint of your application data but they make query filtering significantly faster. They also represent a trade-off that sacrifices write performance for read performance, on the assumption that indexed data will be filtered by queries more frequently than it is modified.

Introducing VoltDB 3.0

Tuesday, January 22, 2013 - 12:00am

The VoltDB engineering team is thrilled to announce that VoltDB 3.0 is now available! Over the past six months we’ve added a ton of features to VoltDB 3.0. This blog post lists the highlights, but that just scratches the surface. Look for future blog posts to dive into specific areas of version 3 functionality.


So let’s jump into what’s new in VoltDB 3.0…

Even Faster

VoltDB 3.0 has lower latency and more throughput than the VoltDB v2.x release.

JSON in VoltDB

Tuesday, February 5, 2013 - 12:00am

VoltDB 3.0 introduces the use of JSON-encoded columns to allow more flexibility in how you structure and interact with your data. New SQL functions and index capabilities let you work more naturally with JSON data while maintaining the efficiency and transactional consistency of a relational database.

How? A VoltDB JSON Example

Let’s assume that you want to implement a single sign-on (SSO) application using VoltDB.  You wish to store the login session for a set of different online sites under a common username.

Making an Impact: VoltDB Engineering Interns

Friday, September 21, 2012 - 12:00am

Summer went by too fast in New England! We are already missing our two engineering internship students, Xin Jia from Brown University and Zheng li from University of Massachusetts, Lowell.


During their internship, Xin and Zheng worked on numerous projects, explored new ideas, and helped accelerate the launch of product features. In short, they were big contributors to VoltDB.

Need instant BI? Go for real real-time analytics

Tuesday, March 10, 2015 - 10:45am

This guest post comes via Dave Sisk, Senior DBA at Salsalabs, and is posted here with his permission and our thanks.


During a recent discussion on a LinkedIn group to which I belong – Columnar Databases – a group member asked this question: “There has been a big talk and interest about real time BI - the ability to get instant analytics from day-to-day operations, so let me ask you - how each of you is working on this subject - are you working with only CDBMS engines, added some non-structured data to the solution or stayed in the "normal" path (data modeling and adding more computing

New powerful way to do upserts in VoltDB

Thursday, November 20, 2014 - 11:15am

Over a year ago, we published a blog post to explain how to do an upsert transaction using a stored procedure in VoltDB ( Since then, we have received useful feedback and made some significant improvements. Today we would like to introduce a new, simpler and faster way to do UPSERT.


Introduced in VoltDB V4.8, UPSERT is a SQL statement used to insert new records or update existing records (depending on whether or not a primary key value exists in the current table). Its SQL syntax is the same as the INSERT statement; the detailed documentation page can be

Picture it: Three Nodes, Highly Available Cluster, ~1 Million Transactions/second – with VoltDB

Tuesday, June 4, 2013 - 12:00am

You’ve probably heard about the VoltDB, the super fast distributed ACID SQL RDBMS for OLTP, but you might not be aware of its throughput capabilities in detail. VoltDB achieves its high throughput by eliminating the locking and latching of conventional databases. It’s also distributed and can automatically shard your data, and it has a bunch of other really cool features that make transaction processing a snap.


We took a key­-value application and implemented it in VoltDB (the app is available with the distribution if you want to try it). We set the app up on 4 Dell R510′s with 64GB and dual

Presto! Facebook Embraces SQL, Everyone at VoltDB Nods Their Head.

Thursday, November 7, 2013 - 12:00am

Yesterday, Facebook announced open-source access to Presto, “a distributed SQL query engine optimized for ad-hoc analysis at interactive speed.” You can read more in this blog post by Martin Traverso, a member of Facebook’s Presto team.


At VoltDB, we’ve always believed that data is only valuable when you can interact with it. Data you can’t interact with — well, that’s just overhead. We put access and interactivity first. And that means we put SQL first. Five years ago this wasn’t a popular choice but we stuck to our guns. Because we have history on our side.


As SQL relational systems first

Querying JSON data in VoltDB

Monday, January 12, 2015 - 5:15pm

This blog was co-authored by John Crawford & John Piekos.


VoltDB recently (in versions 4.7 and 4.8) added capabilities to the use of JSON-encoded columns, which were first available in v3. A completely new SET_FIELD function was added, as well as new notation for the FIELD function. These enhancements allow even more flexibility in how you structure and interact with your data, letting you work more naturally with JSON data while maintaining the efficiency and transactional consistency of a relational database.

Setting JSON values in VoltDB

Tuesday, January 20, 2015 - 7:15pm

VoltDB recently (in versions 4.7 and 4.8) added capabilities to the use of JSON-encoded columns, which were first available in v3. A completely new SET_FIELD function was added, as well as new notation for the FIELD function, allowing even more flexibility in how you structure and interact with your data, letting you work more naturally with JSON data while maintaining the efficiency and transactional consistency of a relational database. A previous blog discussed how to query your JSON data, primarily using the FIELD function; this blog discusses how to set your JSON data, using the

Simplify Your Stored Procedure Logic with Expectations

Monday, December 3, 2012 - 12:00am

Written by Andrew Wilson


John Hugg was talking with me today about a way to reduce the complexity of error checking in a stored procedure and how rarely it is used. VoltDB’s stored procedures let you set “expectations” on each SQL statement. Those expectations can eliminate several lines of code leading to shorter, readable and more reliable stored procedures.


Consider the following sample:


CREATE TABLE user_table (
user_name        varchar(200)        UNIQUE NOT NULL,
  password         varchar(100)        NOT NULL,

Strangeloop Conference Recap

Wednesday, October 3, 2012 - 12:00am

Last week in St. Louis, Dr. Michael Stonebraker gave the keynote address at the Strangeloop conference. His topic was In-Memory Databases – the Future is Now! Strangeloop is a fantastic multi-disciplinary tech conference run by Alex Miller (@puredanger) that may be the closest thing to geek heaven this side of graduate school. Alex and his crack staff, especially the ever-present Nick Cowan, kept things running very smoothly. The Peabody Opera House and its efficient staff provided an unusually opulent setting for discussions of concurrency, emerging languages, and alternative databases.



Thoughts on NoSQL Now! 2012

Tuesday, August 28, 2012 - 12:00am

One of the best parts about working for a growing start-up is the chance to leave keyboard and office behind and escape to meet users. I spent last week in San Jose at NoSQLNow– a conference designed to bring together users and vendors of “Not Only SQL” products.


VoltDB is, quite proudly, a SQL system and some passers-by raise an eyebrow as we explain this.

VoltDB client for the Go Language

Monday, October 29, 2012 - 12:00am

A while ago I published my Go VoltDB driver to github ( I wrote the driver for three reasons: to learn and write a little go; to be able to test and script against VoltDB using go; and to experiment with some different VoltDB client patterns.


We, and the community, have written several production quality drivers for VoltDB (available at The go driver, however, has not been tested for production use.

With caveats complete, what’s up with voltdbgo?

Firstly, it only supports synchronous clients.

VoltDB Explain Plan Command and Planner Testing Tool

Wednesday, September 12, 2012 - 12:00am

My name is Zheng Li, a UMass Lowell graduate student. I spent the summer as an internship at VoltDB. Over the summer, I primarily worked on two VoltDB features, both related to query plans. The features are:


  1. Explain plan command
  2. Planner testing tool

A query plan is an ordered set of steps used to access or modify information in a SQL relational database management system (see Understanding query plans is important because the first plan chosen to execute will directly affect the query execution time.

VoltDB’s End of Summer Engineering Update

Tuesday, August 28, 2012 - 12:00am

It’s been a busy summer here at VoltDB! Since spring the VoltDB Engineering team has released VoltDB four times (we’re operating on 3 week sprints) and delivered numerous product and performance enhancements.


Some of the major features we’ve recently released include:

  • Pause-less rejoin of failed nodes. Failed nodes can now be rejoined to the k-safe cluster without significant impact to the operational throughput of the cluster. This feature is available in the Enterprise edition of VoltDB.
  • Significant performance improvements around ad hoc SQL, which is SQL executed outside of stored

What’s the plan?

Tuesday, May 7, 2013 - 12:00am

“Why is this so slow?” Have you put your application into testing (you did this before going to production, right?) and wondered why you’re not getting VoltDB’s world-class performance? The problem might be with the SQL execution plan.


This article shows you how to look at the SQL execution plans and use the information to tune your application.


Getting the plans at compile time


In VoltDB, you can get execution plan information when you compile your stored procedures or later, when the database is up and running. When you build the application catalog using the voltdb compile command, the