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

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 console … 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. I would like to introduce the new Erlang VoltDB driver we created, a piece of software that allows two genre-defining technologies to work together: VoltDB [3] and Erlang [4].

The Driver

I first came to VoltDB on the hunt for a better database for heavy duty online-game servers. I experienced first hand [5] what a … 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.

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.  Each login session could hold different user state, simple data values or possibly more complex structures. Additionally, … 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. 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.  We spent much of the past year re-engineering the transaction coordination architecture to minimize the communication between cluster nodes during transaction processing … 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. It also showed how converting that logic to use VoltDB stored procedures allowed you to parallelize query execution and achieve 100,000+ transactions a second on a single node. In this blog post I’ll talk about scaling beyond 100,000 transactions per second by creating a VoltDB clustered database.

There are primarily two reasons why you would want to run VoltDB as a … 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. Those expectations can eliminate several lines of code leading to shorter, readable and more reliable stored procedures.

Consider the following sample:

Example.DDL

LoginProc1.java

LoginProc2.java

LoginProc1 checks for a row count and returns either a 0 or a 1 if the username and password combination could not be found. LoginProc2 sets an expectation that the results of voltExecuteSQL() will return exactly one … 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? Upserts tend to be very fast in traditional databases because they can execute in as little as one query or as many as two. Consequently, a good upsert strategy has only two defined queries (insert and update) rather than three (insert, update and select). More importantly, “upsert” itself can be a keyword in which the database understands that it is responsible for figuring out whether to update … 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.
What is VoltDB v3.0?

VoltDB v3.0 offers a set of user-visible features, including new SQL, indexable column functions, improved ad hoc SQL execution performance, export enhancements, online schema changes, and a more streamlined application-development process.  Under the covers, VoltDB v3.0 includes a new transaction-coordination architecture that reduces latency and improves transaction throughput.

We’ve worked hard over the past six months to reduce overhead within VoltDB by streamlining transaction … Read more