Developer(s) | VoltDB Inc. |
---|---|
Stable release | 2.1 / October 18, 2011 |
Written in | Java, C++ |
Operating system | Linux, Mac OS X |
Platform | Java |
Type | RDBMS |
License | GNU General Public License v3, VoltDB Commercial License |
Website | voltdb.com |
VoltDB is an in-memory database designed by several well-known database system researchers, including Michael Stonebraker (who was involved in Ingres and PostgreSQL), Sam Madden, and Daniel Abadi. It is an ACID-compliant RDBMS which uses a shared nothing architecture. It includes both enterprise and community editions. The community edition is free software released under the terms of the GNU General Public License version 3, and includes a subset of the features in the enterprise edition. VoltDB implements the design of the academic H-Store project.[1]
VoltDB is a relational database that supports SQL access from within pre-compiled Java stored procedures. The unit of transaction is the stored procedure which is Java interspersed with SQL. VoltDB relies on horizontal partitioning down the individual hardware thread to scale, k-safety (synchronous replication) to provide high availability, and a combination of continuous snapshots and command logging for durability (crash recovery).
By making stored procedures the unit of transaction and executing them at the partition containing the necessary data it is possible to eliminate round trip messaging between SQL statements. Stored procedures are executed serially and to completion in a single threaded manner without any locking or latching. Because the data is in memory and local to the partition a stored procedure can execute in microseconds. The stored procedure initiation scheme allows all nodes to initiate stored procedures while ensuring that there is a single serializable global order.[2]
VoltDB first became generally available in May 2010 with the release of VoltDB Community Edition 1.0, an open source product distributed under the GPLv3. In October 2010, VoltDB 1.2 was released under both open source (VoltDB Community Edition) and commercial (VoltDB Enterprise Edition) licenses. In September 2011, VoltDB 2.0 was released and included a high performance durability feature called command logging (VoltDB Enterprise Edition only). In October 2011, a single-server version of VoltDB Enterprise Edition was released under the brand name VoltOne.