VoltDB
Encyclopedia
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.
VoltDB is a relational database
that supports SQL
access from within pre-compiled Java stored procedure
s. 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.
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.
Michael Stonebraker
Michael Ralph Stonebraker is a computer scientist specializing in database research.Through a series of academic prototypes and commercial startups, Stonebraker's research and products are central to many relational database systems on the market today...
(who was involved in Ingres and PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...
), Sam Madden
Samuel Madden (MIT)
Samuel R. Madden is a computer scientist specializing in database management systems. He is currently an associate professor of computer science at the Massachusetts Institute of Technology.-Career:...
, and Daniel Abadi. It is an ACID
ACID
In computer science, ACID is a set of properties that guarantee database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction...
-compliant RDBMS
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....
which uses a shared nothing architecture
Shared nothing architecture
A shared nothing architecture is a distributed computing architecture in which each node is independent and self-sufficient, and there is no single point of contention across the system...
. It includes both enterprise and community editions. The community edition is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
released under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
version 3, and includes a subset of the features in the enterprise edition. VoltDB implements the design of the academic H-Store
H-Store
H-Store is an experimental database management system designed for online transaction processing applications that is being developed by a team at Brown University, the Massachusetts Institute of Technology, and Yale University....
project.
VoltDB is a relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...
that supports SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
access from within pre-compiled Java stored procedure
Java stored procedure
A Java stored procedure is a procedure that is written in Java instead of 3GL languages like PL/SQL and stored in the Oracle database. They are executed by the JVM. For this, the database memory space is used. It is sometimes wrongly abbreviated as JSP....
s. The unit of transaction is the stored procedure which is Java interspersed with SQL. VoltDB relies on horizontal partitioning
Partition (database)
A partition is a division of a logical database or its constituting elements into distinct independent parts. Database partitioning is normally done for manageability, performance or availability reasons....
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.
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.
See also
- Comparison of database toolsComparison of database toolsThe following tables compare general and technical information for a number of available database administrator tools. Please see individual product articles for further information...
- Comparison of relational database management systemsComparison of relational database management systemsThe following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date...