Fast Data + Big Data = VoltDB + Hadoop

It’s a common refrain here at VoltDB: Big Data is created by Fast Data.

VoltDB is able to ingest and transact on data at phenomenal rates, and as a result, VoltDB often finds itself at the front end of fast data pipeline applications.… Read more


Optimizing index performance – a CMU intern’s work at VoltDB

This post was written by one of VoltDB’s summer interns, Yetian Xia

My name is Yetian Xia. I worked as a software engineering intern at VoltDB during the summer, working with the core team.… Read more


A summer intern’s experience with performance benchmarking

This post was written by one of VoltDB’s summer interns, Yuning He.

Hey everyone. My name is Yuning He and I was a summer intern at VoltDB on the distributed team.… Read more


Five Things You Didn’t Know About VoltDB V4.0

#1) Fast Data Integrations

As we like to say at VoltDB, Big Data is created by Fast Data. Because VoltDB is able to ingest and transact on data at phenomenal rates, VoltDB often finds itself at the front end of Fast Data applications.… Read more


Part Four: You’d Better Do Fast Data Right – A Five Step approach

The last post defined what the Corporate Data Architecture of the future will look like and how “Fast” and “Big” will work together.Read more


The rise of NoSQL is an opportunity for new RDBMS solutions

It should come as no surprise that NoSQL has become popular over the past few years. This popularity has been driven in large part by the app revolution. Many new apps are hitting millions of users in less than a week, some in a day. … Read more


Cost accounting for SSDs – it’s RAM, not disk

Most discussions I have seen about choosing SSDs vs. spinning disk arrays for databases tend to focus on SSDs as a replacement for disk. SSDs don’t replace disk; they replace the RAM you would be using to cache enough disk pages to make up for the terrible random IO performance of spinning disk arrays.… Read more


Part Three: Designing a Data Architecture to Support Both Fast and Big Data

In post one of this series, we introduced the ideas that a Corporate Data Architecture was taking shape and that working with Fast Data is different from working with Big Data.… Read more


The benefits of real-time data via in-memory database technology

Having a lot of data pouring into your organization is one thing. Being able to store it, analyze it and visualize it in real-time is a whole different ball game. More and more organizations need to have real-time insights in order to fully understand what is going on within their enterprises – and with their customers.Read more


Big DataCamp LA 2014 Wrap-Up

Amazing. That’s about all I could say all day the Saturday before Father’s Day. I was asked to speak at the LA Big Data Camp (#BigDataCampLA) on that day, which I had happily agreed to before I actually realized it was _that_ weekend.… Read more


Connecting VoltDB to the Big Data Ecosystem

With its ability to act on data coming in at the rate of hundreds of thousands to millions of events a second, VoltDB is ideally suited as an operational database to process fast data. … Read more


Part Two: The Alchemy of Fast Data

Welcome to part two of our series on the transforming Corporate Data Architecture.… Read more


In-memory database sizing – throw out conventional wisdom

Sizing an in-memory database does not follow conventional database sizing rules.

For traditional databases, you buy a decent server machine, likely one with many CPU cores and reasonable memory, and then focus on application IOPS (I/O Operations per Second).… Read more


Part One: The Imminent Fracture in Corporate Data Architecture: Fast + Big

I am kicking off a blog series on the structural transformation of the Corporate Data Architecture.… Read more


Narrowing the data-to-decision gap with in-memory operational databases

We can all agree that data is an organization’s greatest asset, yet in many industries data is treated as a ‘fixed’ asset, collected and stored in data warehouses for later analysis.… Read more


Don’t Accept Data Loss when Upgrading to In-memory Database Performance

Data loss is the enemy of businesses everywhere. Snapshots, replication, active-active architectures, even physical measures such as backup generators are used to ensure data is preserved as it enters and is used or warehoused by the enterprise.… Read more


Debunking Myths about the VoltDB in-memory database

I’d like to take a quick moment to address some myths and misconceptions about VoltDB. Many people selling products who view VoltDB as competition seem to be repeating them. As you’ll read, much of what’s said is just plain FUD.… Read more


VoltDB in-memory database achieves best-in-class results, running in the cloud, on the YCSB Benchmark

The development team at VoltDB recently ran VoltDB v4.2 against the Yahoo Cloud Serving Benchmark (YCSB), an industry-standard performance benchmark for cloud databases. We ran our test on as realistic a cluster setup as possible: commodity hardware that we could easily book as spot instances on EC2, with features like durability and high availability enabled.… Read more


Integration of a streaming system with batch oriented, slower downstream systems

We’re happy to share a great blog from Mik Quinlan, a Java Technical Architect and Agile Mentor with more than 16 years experience in software development, who has extensive experience deploying VoltDB in fast data ingestion applications for the retail market.  Read more


M2M World Congress Wrap-Up

I attended M2M World Congress in London two weeks ago and have been pondering my “take-aways” since. While many VoltDB customers use our NewSQL, in-memory database to provide scalable transactions, decisions and analytics in M2M deployments (smart grids, mobile telco platforms, cloud PaaS products), putting the M2M/IoT space into a broader context is hard.… Read more


Impact of Java Garbage Collection on in-memory databases

Some users of Java, and specifically Java as it is used in in-memory database technology, worry Java’s ‘Garbage Collection’ can impact performance. Garbage Collection is intended to simplify memory management (allocation and de-allocation) and therefore reduce the amount of code written, speed development, and avoid memory management bugs.… Read more


Festschrift: A Celebration (and Roast) of Mike Stonebraker at MIT

If I’d known that academia had parties as interesting, entertaining and fun as Mike Stonebraker’s “festschrift” (the German word for a celebration honoring one’s accomplishments), I might have considered it as a career.… Read more


Heartbleed and VoltDB: What You Need to Know (Spoiler Alert: VoltDB is Unaffected)

As you’ve no doubt heard, there’s a lot of buzz about a vulnerability in OpenSSL technology commonly referred to as the Heartbleed Bug. It’s present in sites powered by OpenSSL versions 1.0.1 through 1.0.1f, and affects more than 500,000 sites – enabling hackers to capture names and passwords, steal credit card data, and eavesdrop on communications.… Read more


The Smart Revolution – People, Devices, and Actionable Intelligence

The first Internet revolution connected content and people; the second is also connecting “things.” Projections for the Internet of Things (IoT) suggest that 50 billion devices will be connected by 2020, a market opportunity that Gartner estimates at $300 billion.… Read more


NewSQL: the Cake You Can Eat

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.… Read more


VoltDB – Creating an Openshift Cartridge – Part 2

Written by Jeff McCormick on March 31st
Originally published here.

In this blog post, I’ll show you the steps required to fix a couple of things in our original cartridge.… Read more


VoltDB – Creating an Openshift Cartridge – Part 1

Written by Jeff McCormick on March 25th
Originally published here.


This blog describes a new Openshift cartridge developed for the VoltDB database ( I’ve been doing research on VoltDB and figured that others might benefit from having quick access to an Openshift hosted instance of the database.… Read more


VoltDB, native memory, and you

(Originally published here.)

Target audience

This post targets other VoltDB developers who are going to be dealing with the various unconventional ways Volt now uses native memory in the Java portions of the database.… Read more


Introducing VoltDB DevCenter

As part of VoltDB 4.0, we built a developer focused landing site, VoltDB Dev-Center. You can find it on the main navigation under the Developers menu: “Developers > Build Your Apps”.… Read more


VoltDB is a Churning Urn of Groovy Funk

February 11
Read Now >


Announcing VoltDB 4.0: Enhanced In-Memory Analytics and Online Elasticity

The VoltDB engineering team is pleased to announce that VoltDB 4.0 is now available!

Bruce Reading, the VoltDB CEO is fond of saying that VoltDB contains lots of “yummy goodness”, and, while that is not a term we engineers use often, VoltDB v4.0 does indeed include a lot of new features.  Read more


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

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.… Read more


Scaling: 700,000 Simultaneous Connections to VoltDB

One of the original design goals for VoltDB was to support large numbers of connections per server. This kind of came for free with Volt’s event based design. The event based design was driven by a desire to keep the number of active software threads 1:1 with available hardware threads and this basically proscribed any kind of thread per client network IO implementation.… Read more


VoltDB Real-Time Analytics with JSON

Consider the scenario where you are building an online multi-player game platform, where users can use the platform to create their own games.  Such a platform would have the following high-level requirements:

  1. It needs to be able to process tens of thousands of write transactions, game state changes, per second. 
  2. Read more


What’s the plan? (continued)

In May I wrote ‘What’s the plan?’ showing how to look at your SQL plans. We’ve now made it even simpler using our new, browsable Catalog Report.

The Catalog Report is generated when you compile the catalog.… Read more


Get a Clue(Con): The Answer is VoltDB

At ClueCon 2013, Vanguard Michael Giagnocavo presented “Easy Real-Time CDR Reporting with VoltDB,” an exploration of using Volt in telecom to deal with high-volume CDRs – keeping developer-friendly SQL and fully ACID transactions without sacrificing scale-out.… Read more


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

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.… Read more


What’s the plan?

“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.… Read more


877,000 TPS with Erlang and VoltDB

-Edited 5/2/13 by Henning Diedrich to correct configuration typos.

Running on a suitable EC2 configuration (see details below), with our new VoltDB Erlang driver we achieved 877,519 transactions per second.

I am Henning Diedrich [1], CEO of Eonblast Corporation[2] a games company.… Read more


JSON in VoltDB

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.… Read more


Stonebraker Live! – Tonight!

Register nowto join us via live streaming!

Can’t make it to Santa Clara tonight? That doesn’t mean you can’t attend Stonebraker Live!

Join us via live stream at 6:30 p.m. Pacific to hear from database legend Mike Stonebraker, as well as VoltDB’s VP of Market Strategy, Mark Hydar, and Co-founder, Scott Jarr.… Read more


Introducing VoltDB 3.0

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.… Read more


Scaling with VoltDB: The Clustered Database

This is part 2 (of 2) of my Programming VoltDB – Easy, Flexible and Ultra-fast series. Blog post, part 1, showed how to build a VoltDB application using ad hoc queries and achieving thousands of transactions a second.… Read more


Simplify Your Stored Procedure Logic with Expectations

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.… Read more


Upserts in VoltDB

Upserts in VoltDB

The idea behind an upsert is that you try an update or an insert query first and if it fails, you then do the other query.
Why do an upsert?… Read more


Announcing VoltDB v3.0 — BETA

The VoltDB Engineering Team is excited to announce the availability of the VoltDB v3.0 BETA.
The following provides a brief overview and details on how you can download this very important release.… Read more


VoltDB client for the Go Language

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.… Read more


Leaderboards: Optimization for Ranking-Related Queries

My name is Xin Jia and I was one of the student interns at VoltDB this summer. For one of my projects, I worked on a feature that greatly improved the performance of ranking-related queries.… Read more


Writing VoltDB Apps in Java Q & A

NewSQL and NoSQL databases present developers with a new and interesting programming model where there are fewer connections to the database, query parallelism, partitions and an easy model for supporting new clusters.… Read more


Strangeloop Conference Recap

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.… Read more


Announcing VoltDB v3.0 – Preview Release

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. … Read more


Making an Impact: VoltDB Engineering Interns

Making an Impact: VoltDB Engineering Interns

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.… Read more


VoltDB Explain Plan Command and Planner Testing Tool

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.… Read more


MySQL to VoltDB: Experiences from the field

Francis Pelland is the Technical Lead for Social Game Universe developing the next generation of The Lightning Platform. The Lightning Platform lets developers build high performance, scalable data platform and provides the management, analytics and the tools to promote and grow social games.… Read more


VoltDB’s End of Summer Engineering Update

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.… Read more


Thoughts on NoSQL Now! 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.… Read more


VoltDB – Simplified CSV Loader

My name is Xin Jia, a Brown University student, and I’ve spent the summer interning at VoltDB. One of the first projects that I worked on this summer was a CSV Loader with fellow intern Zheng Li.… Read more


Programming VoltDB – Easy, Flexible and Ultra-fast!

You may believe that the only way to interact with VoltDB is through Java stored procedures.  To achieve maximum throughput, VoltDB stored procedures is the way to go.  You can achieve upwards of 100,000 transactions per second on a single node. … Read more


Recap of VoltDB for SQL Devs Webinar

We had a great turnout for the VoltDB for SQL Developers webinar on July 19th. The audience was engaged and asked many good questions.  We had attendees from all over the US, Canada and Germany.  … Read more


686K TPS with Spring Framework Web App and VoltDB

We’ve recently put up a series of blog posts describing the components of a Spring-MVC web application, including VoltDB as the database, that saves votes being called in for talent show contestants.… Read more


Q&A from My Talk at the Hamburg Javascript Meet-up

On June 18 I gave a talk to the Javascript meet-up group in Hamburg, Germany.  It was a very enjoyable evening.   I’d like to thank Martin Kleppe for organizing the event, and the meet-up group members for investing an evening to learn more about Node.js and VoltDB.… Read more


Building A High Throughput Web App with Spring-MVC and VoltDB

My last few posts have discussed parts of a web application that integrate VoltDB into a Spring web application. Today I will show how all the pieces are put together to build a low latency, high throughput Spring-MVC application.… Read more


Using the Spring Converter API with VoltDB Data Objects

Mapping one type to another is a pretty common task. Hibernate and other ORM’s map a result from a data source’s native representation to an application specific representation. In English, I want to convert a JDBC result set, or data objects, into a collection of POJOs (plain old Java objects) using some kind of data mapping tool or API.… Read more


The Big Data Value Continuum – Part 2

This is the second post in a two-part series entitled The Big Data Value ContinuumYou can find Part 1 here.

Recall that in the world of Big Data, our fundamental assumption is that data no longer resides in a static database for its entire life.  … Read more


To Flash or Not to Flash: That is the Question

I am often asked about the value of flash memory in OLTP database applications.  This blog post discusses flash technology in this context.  First, I discuss the future of flash in general; then I turn to flash (and other future storage technologies) in the context of a main memory DBMS, such as VoltDB.… Read more


Using the Spring @Schedule Annotation

In a previous life I had a requirement that a web application scanned the expiration date of purchased content and sent one of three emails letting the user know that the item would expire soon, was going to expire very soon and that the item has expired.… Read more


Great Evening with the TriangleJS Meet-up Group

Last night I gave a talk and had an engaging conversation with the TriangleJS meet-up group in Raleigh, NC.  I’d like to thank my hosts at WebAssign for providing such a nice facility, Lucas Myers for managing the logistics of the meet-up and, most of all, the group members who invested an evening to learn more about VoltDB.… Read more


VoltDB Community Users Share Knowledge

VoltDB adoption and deployments are accelerating.  We’re working hard make our products easy to use in both cloud and privately-racked infrastructures.  We see strong adoption in five application categories – capital markets (mostly around trading systems), digital advertising, online games, network monitoring, and intelligence/surveillance (national security, fraud mitigation, etc.).… Read more


Using Node.js with VoltDB

We recently released the first supported version of a VoltDB client driver for Node.js applications. It was able to execute over 695K transactions per second. Since then we have been working on building a better driver and sought out help from the Node community and made a series of improvements.… Read more


OLTP and Decision Support

The purpose of this blog posting is to discuss strategies for handling decision support queries in Online Transaction Processing (OLTP) applications.  First, I want to talk about the two classes of OLTP applications that I see in the marketplace.… Read more


The Big Data Value Continuum – Part 1

This is the first post in a two-part series entitled The Big Data Value Continuum.  You can find Part 2 here.

Technology markets are challenging enough to understand but, when you throw in the added noise that typically accompanies early markets, gaining real insights can be next to impossible.  … Read more


695k TPS with Node.js and VoltDB

Hi, I’m Henning Diedrich, co-founder and CEO of Eonblast, Inc. I’m a guest contributor to VoltDB’s blog.

In February I was contacted by VoltDB about conducting a benchmarking project.  The company had recently released an updated version of a Node.js client driver that had originally been authored by Jacob Wright, one of VoltDB’s community members. … Read more


Announcing VoltDB Version 2.5

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. … Read more


Integrating VoltDB with the Spring Framework

I’ve been writing Spring applications for a few years now and I’ve always been struck by the framework’s flexibility. A developer can write a web application in several distinct ways there is no discernible difference from an end user’s perspective.  … Read more


Q&A from March 21 Webinar

Last week I gave a webinar entitled OldSQL vs. NoSQL vs. NewSQL for New OLTP.  If you missed the live webinar and want to view the recorded version, you’ll find it here (you may need to scroll down to find it). … Read more


Use Main Memory for OLTP

This is the first in a series of blog posts in which I will explore various aspects of On-Line Transaction Processing (OLTP).   In this post, I’ll examine main memory storage as an alternative to disk for traditional and “New OLTP” systems.… Read more


New and Improved Node.js Driver for VoltDB

On June 14, 2011, Jacob Wright (Twitter: @jac_) published a pure Javascript Node.js driver for VoltDB. It is a great driver and it does just about everything a developer could ask for.… Read more


VoltDB WAN Replication – Pre-release Users Invited

The subject of my last blog post was an introduction to VoltDB Replication, one of the major product additions that we’ve been working on.  Well, with this post, I’m happy to announce that we’ve recently pre-released VoltDB Replication to selected users to perform beta-level validation!… Read more


Intro to WAN Replication in VoltDB

This is the first in a series of posts about WAN replication, a VoltDB feature that’s currently under development.  It provides a high level overview of our direction.  More detailed posts will follow as we progress through our engineering iterations.… Read more


VoltDB 2.0 Features Summary

VoltDB 2.0 was released last week and I wanted to take this opportunity to summarize the important new features, including enhancements for database durability and recovery; key performance and interoperability improvements; and many enhancements geared at helping developers use VoltDB productively.… Read more


A Peek Inside VoltDB’s VARBINARY Sausage Factory

VoltDB users are pretty passionate, especially when it comes to things they want us to implement.  For example, we got a lot of feedback from early users indicating the need for VoltDB to natively support variable length binary objects. … Read more


VoltDB Command Logging Replay

In the previous blog post (, Ariel Weisberg described how VoltDB’s command logging feature works. He also briefly mentioned how we replay command logs during the recovery process. In this post, I am going to focus on the replay process and discuss how VoltDB recovers from catastrophic events.… Read more


Optimizing Distributed Read Operations in VoltDB

Many VoltDB applications, such as gaming leader boards and real-time analytics, use multi-partition procedures to compute consistent global aggregates (and other interesting statistics).  It’s challenging to efficiently process distributed reads operations, especially for performance sensitive applications. … Read more


Intro to VoltDB Command Logging

VoltDB’s new command logging feature reduces the window of data loss during a cluster wide failure from single digit minutes (the window between snapshots) to zero. Command logging can be tuned to give you the same amazing latency and throughput you get from VoltDB, even on a single 7.2k SATA disk.… Read more


VoltDB’s New Command Logging Feature

We, at VoltDB, are excited to tell you about the command logging feature that we’ve been working on this summer. We’ve built this feature because our customers asked for it, and they’ve given us some great feedback on how it should work.… Read more


Understanding VoltDB Data Partitioning

I’ve talked to hundreds of people about VoltDB over the past year. Data partitioning and its consequences are almost always the hardest parts to explain.

VoltDB is a clustered database. Each node of the cluster contains a subset of the data in the database.… Read more


The Sqoop on VoltDB Export and Hadoop Integration

In the last couple of releases of VoltDB, we’ve made steady improvements to our Export feature. Export allows you to build into your VoltDB applications an automatic flow of data from VoltDB to companion datastores (for example, to an analytic database).… Read more


Berlin Bettswords

Getting away from the line-by-line details of code is necessary – the big picture matters. Getting away to Berlin, Germany, is a treat.  I’ve spent most of a week at the Berlin Buzzwords Conference listening and talking about data management. … Read more


VoltDB.NET Unleashed: Post Webinar Wrap-up and VoltDB Studio Introduction

I thought I’d take a quick opportunity to review some of the key highlights form the .NET Webinar, giving out some of the nicer code snippets, and officially introduce our new development tool: VoltDB Studio.… Read more


VoltDB Export – Connecting VoltDB to Other Systems

VoltDB is an in-memory database that excels at handling massive volumes of read and write operations in real-time.

However, performing high throughput database operations is often only one aspect of the larger business context where data needs to transition from system to system as part of an overall infrastructure.… Read more


Upgrading to VoltDB V1.3

VoltDB V1.3 contains a number of new features, as well as changes and enhancements to existing features. In some cases, these enhancements involve changes to the behavior or the interface that existing users need to be aware of.

Read more


VoltDB.NET: Synchronous vs. Asynchronous Request Processing

Deciding whether to handle your workload as a sequential set of synchronous operations or an asynchronous batch isn’t just a .NET topic, but a larger design decision with any VoltDB application.… Read more


VoltDB.NET: Optimizing your Connection Settings

The .NET connection object comes with a host of settings to help you control access to your VoltDB database and optimize performance. In this quick review, we detail each available option, as well as how to use a connection string for portable deployment of your application between environments.

Read more


Introducing VoltDB.NET: C# Library for Your VoltDB Applications

I’m happy to introduce our first .NET C# library for VoltDB, which is available for download (full source with samples & documentation) at: (Latest build-only with documentation from the downloads page).… Read more


Is VOLTDB Really as Scalable as they Claim?

Baron Schwartz from Percona has published an analysis of VoltDB’s scaling performance on the MySQL Performance Blog. He has worked with our own Tim Callaghan to apply a mathematical model to the Scalability of VoltDB.… Read more

Transaction Ordering and Replication

Transaction Ordering and Safety

In this blog post I want to build on the example given by John and dig a little deeper into how VoltDB ensures global ordering and replication in the face of failures.… Read more



“You cannot manage what you cannot measure”” - Peter Drucker

Most of us have heard this quote many times, though it’s probably more relevant to software development to say:

“You cannot manage what you do not measure”.Read more


Why is VoltDB So Fast?

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.… Read more

Documenting Open Source Software

Someone asked what we use to produce the documentation for VoltDB. The simple answer is DocBook.

DocBook is an XML schema for structured documentation. Originally designed for UNIX-based hardware and software documentation, DocBook is generalized enough for most technical documentation purposes.… Read more


Building a Cluster on a Limited Budget

In April 2010 we built a “budget cluster” to facilitate additional VoltDB testing (we already had a 12-node Dell R710 cluster). The requirement was to build a complete 6 server VoltDB cluster for less than the cost of a single R710 (much less actually).… Read more



I did quite a bit of testing on one of the major VoltDB v1.2 features, Network Fault Protection. When enabled this feature detects a network partition and ensures that we don’t allow “split-brain” behavior (a single VoltDB cluster splitting into two independent clusters).… Read more

Clarifications on the CAP Theorem and Data-Related Errors

There has been another round of online conversations about the CAP theorem as the internet community continues to discuss its implications on networked databases.   Coda Hale recently wrote a well received article titled, “You Can’t Sacrifice Partition Tolerance”, acknowledged as “pretty good” by Eric Brewer. 

Read more


SGI/VoltDB Benchmark- More Details

Yesterday’s press release documented a 30 node SGI Rackable Cluster running VoltDB achieving 3.4 million transactions per second (at 10ms latency) running the “Voter” application.

Impressive numbers, indeed. And the numbers are even more interesting when you understand the transactions.… Read more


Overclocking Your Database Servers

It seems like I’ve been programming forever (we’re talking TS-1000, TRS-80, and Commodore64). I’ve always been looking to improve the performance of my programs, especially database applications. Better performance can usually be attributed to one of the following:

  • New Hardware[insert name of favorite hardware vendor] has just released new server technology that incorporates improved [RAM | CPU | Disk | RAID Controller].
  • Read more


Java and Kernal Bugs

Java Concurrency Bug

This is the first bug we found in a system outside VoltDB. We used LinkedBlockingDeque in Java’s concurrent package to maintain concurrent access in VoltDB’s network subsystem. Once in a while, we noticed cluster lockups when the system was under pressure.… Read more


Community Contributions – Erlang Client Library

We at VoltDB are proud to announce contributions by our community members. In this post we highlight the Erlang Client Library, contributed by Henning Diedrich, of EonBlast Corporation. Eonblast will use this library and VoltDB in their upcoming game, Solar Pirates.

Read more


“VoltDB for SQL Developers” on YouTube

I presented VoltDB to the Boston MySQL User Group on 9/13, focusing on VoltDB technology from a SQL Developer’s point of view.

The 2 hour video recording is available on YouTube at more


Transactions on a Budget

We hand-built a “cluster” at VoltDB to perform a variety of long running tests. In this test cluster, one of the nodes performs all client application activity while the other 5 serve as VoltDB servers.… Read more


High Availability and Cloudy Problems

VoltDB, like many distributed systems, achieves high availability through redundant processing nodes. VoltDB calls this K-Safety. Essentially, the distributed system can answer any request at at least K+1 servers, so it can tolerate at least K hardware failures.… Read more

Living the Asynchronous LifeStyle, or how I Learned to Stop Threading and Love the Non-Blocking Call [back]

A 1:1 mapping between software threads and hardware threads is a core part of VoltDB’s approach to performance and also turns out to be the core of the asynchronous lifestyle. By multi-plexing work through a pool of threads appropriately sized for your hardware, you can obtain the maximum parallelism that your hardware can provide and efficiently process many discrete tasks (although parallelism != performance).… Read more

What? VoltDB Stored Procedures?

VoltDB is a relational store that uses SQL for its query language and stored procedures for its transactional unit of work. Clients invoke stored procedures to access the database. Stored procedures access data using parametrized SQL statements and can manipulate intermediate results in Java.… Read more


The Lifecycle of a Transaction

When learning about VoltDB for the first time, people often ask how VoltDB executes transactions in a distributed environment. So, here’s how…

Let’s say a developer, Dan, is working on a new website.… Read more


Key Value Benchmark FAQ

This is a follow up to a previous post on Benchmarking VoltDB against Cassandra on Key-Value-like workloads.
What’s the point of this benchmark?

Point 1: Demonstrate SQL can be fast.… Read more


Key-Value Benchmarking

Edit on 6/2/10: Check out the follow up Benchmarking FAQ blog post with links to code.

The NoSQL movement was born of the need to scale data management with predicable cost.… Read more


Welcome to Voltage, the blog for VoltDB enthusiasts

Welcome to the VoltDB blog, and what I hope will be a series of mostly (except this one!) technical posts about our product; what it’s for, how to use it, and how it’s built; along with news and events that will be of interest to the VoltDB community.

Read more