Skip directly to content


Announcing VoltDB v3.0 – Preview Release

Thursday, September 27, 2012

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

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

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

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

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.

Keeping Track of Counters Efficiently

Wednesday, May 20, 2015

This post was contributed by guest blogger and database expert Dan Khasis.


One of the biggest issues with efficiently scaling a growing organization’s database infrastructure is to efficiently count the activities happening inside the system. It is generally a simple problem which only becomes complex as the number of concurrent transactions and rows increases over time.


Specifically, if you are adding only several rows of transactions per day, you can easily run an aggregation on your table and get results back almost instantaneously.

Making an Impact: VoltDB Engineering Interns

Friday, September 21, 2012

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

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

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

NewSQL: the Cake You Can Eat

Monday, April 7, 2014

Formula for startup success: extract the lessons of the past and mix in present reality and macro-trends. That’s NewSQL in a nutshell.


NewSQL is growing in popularity because it preserves the value accumulated over the last 30 years of database development and deploys that capability on modern architectures and configurations.

But SQL is dead, right?

Not even close. When Facebook announced Presto a few months ago, I poked some fun at NoSQL. I was tweeted back, “Hive’s been doing SQL on Hadoop since, what, 2008?” (I was kinda snarky and deserved the tone in return.) But – absolutely!

NoSQL vs. NewSQL: Choosing the right tool

Thursday, April 9, 2015

Trying to choose a database to solve a problem (or a whole set of them)? Here's a quick rundown of the advantages - and disadvatages - of NoSQL versus NewSQL. Choosing the right tool for the job at hand is 80 percent of getting to a solution; the other 20 percent is really understanding the problem you're trying to solve.


I'll start by pointing out that the term NoSQL is about as descriptive as categorizing unicycles and wheelbarrows as "NoTwoWheels". In truth, NoSQL is a broad category collecting disparate technologies beneath an ambiguous umbrella.

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

Tuesday, June 4, 2013

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

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

Thursday, November 7, 2013

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

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

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

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

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

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

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

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

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

“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

Why is VoltDB So Fast?

Thursday, January 13, 2011

First and foremost, VoltDB is focused on specific workloads. Most existing RDBMSs are designed to be general purpose, one-size-fits-all systems. Recently, there have been a lot of new databases introduced that achieve better performance by specializing in areas like analytics, graphs or streaming data. Few of these specialized systems focus on OLTP, and when they do, it’s often more about tuning, rather then a rethink. VoltDB was designed to be the most scalable transaction processing system out there, often making compromises unsuitable for other workloads.