VoltDB

From Wikipedia, the free encyclopedia
Jump to: navigation, search
VoltDB
Developer(s) VoltDB Inc.
Stable release 4.0 / January 26, 2014; 5 months ago (2014-01-26)
Written in Java, C++
Operating system Linux, Mac OS X
Platform Java
Type RDBMS
License GNU Affero General Public License v3, VoltDB Proprietary 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]

Architecture[edit]

VoltDB is a NewSQL 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 to 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 thread without any locking or latching, similar to the LMAX architecture.[2] Because the data is in memory and local to the partition, a stored procedure can execute in microseconds. VoltDB's stored procedure initiation scheme allows all nodes to initiate stored procedures while ensuring that there is a single serializable global order.[3]

Versions history[edit]

  • VoltDB Community Edition 1.0 - first general availability in May 2010, as an open source product distributed under the GPLv3.
  • VoltDB 1.2 was released in October 2010, under both open source (VoltDB Community Edition) and proprietary (VoltDB Enterprise Edition) licenses.
  • VoltDB 2.0 was released in September 2011, and included a high performance durability feature called command logging (VoltDB Enterprise Edition only).
  • VoltOne was released in October 2011. It is a brand name for a single-server version of VoltDB Enterprise Edition.
  • VoltDB 2.5 was released in April 2012. It included database replication, providing cluster-wide replication and fail-over within/across data centers (VoltDB Enterprise Edition only).
  • VoltDB 3.0 was released in January 2013. It lowered operational latency, offered live schema changes, added more SQL and offered high-performance export (VoltDB Enterprise Edition only).[4]
  • VoltDB 4.0 was released in January 2014. It enhanced In-memory analytics capabilities with a host of new SQL support, greatly improved analytic read throughput performance, enabled running clusters grow elastically without blocking and added support for Groovy stored procedures, MySQL migration utility and Online training along with Volt Vanguard Certification.[5]

See also[edit]

References[edit]

  1. ^ http://hstore.cs.brown.edu/
  2. ^ http://martinfowler.com/articles/lmax.html
  3. ^ http://community.voltdb.com/node/118#comment-271
  4. ^ "Introducing VoltDB 3.0". Retrieved 5 February 2013. 
  5. ^ https://voltdb.com/announcing-voltdb-4-0-enhanced-in-memory-analytics-and-online-elasticity/

External links[edit]