VoltDB is a commercial in-memory DBMS that is scalable and ACID-compliant. VoltDB is designed to be a NewSQL relational database to work with mainly OLTP queries. It is designed to be a distributed database with sharding and data replication. It has both a commercial version and an open-source community version.[01][02][03][04]
- Project Types
- Commercial, Open Source
- Derived From
- H-Store
- Licenses
- GPL v3, VoltDB Proprietary License
VoltDB is a commercial in-memory DBMS that is scalable and ACID-compliant. VoltDB is designed to be a NewSQL relational database to work with mainly OLTP queries. It is designed to be a distributed database with sharding and data replication. It has both a commercial version and an open-source community version.[01][02][03][04]
History[02][05]
VoltDB originated from H-Store, a research project from Brown U and MIT under Michael Stonebraker, Samuel Madden, Andy Pavlo, etc. In 2009, it started as a spinoff in Boston, MA.
Checkpoints[06]
The snapshot creation could either block all the other transactions or be done in a non-blocking way (e.g. Copy-On-Write).
Concurrency Control[03][04][07]
VoltDB schedules transactions deterministically on each partition of the data in the cluster. For transactions that span across partitions, a global serial order controller is responsible for determining the execution order. MVCC mode is only used when taking snapshots.
Isolation Levels[03][04][07]
VoltDB supports serializable isolation level with ACID guarantee. The deterministic ordering of transactions is achieved by controllers at each data partition.
Joins[12][13]
Table joins are only supported if the result is smaller than 50MB. The join ordering must be specified if the query joins more than 6 tables.
Logging[14]
VoltDB supports transaction-level logging for all the stored procedures that are invoked. By command logging, the amount of memory overhead is minimized since a single stored procedure invocation could contain arbitrary number of SQL statements. Only logs after the latest snapshot are kept, and the logs are flushed to the disk at a regular interval. This feature is only available in the enterprise edition.
Query Interface[15][08][16]
Apart from supporting most of the standard SQL statements, VoltDB also allows the user to define pre-compiled stored procedures.
Storage Architecture[06]
VoltDB is designed to be an in-memory relational DBMS. Its data persistence is achieved by snapshots stored on disk.
Stored Procedures[15][03]
The stored procedure in VoltDB allows the user to define a transaction once and to be invoked later with given parameters. Stored procedures are pre-compiled to reduce execution time. Temporary queries are automatically comipled and executed as a stored procedure. VoltDB supports stored procedures written in SQL or Java.
System Architecture[18][19]
VoltDB runs on a sharded DBMS cluster. Data partitioning and replication is done automatically across the cluster
Views[20]
Views in VoltDB are materialized to improve read speed, and all updates to the original table will have a performance impact.
Citations
22 sources- Volt Active Data | Real-Time Decisioning Platform voltactivedata.com
- VoltDB - Wikipedia wikipedia.org
- https://www.semanticscholar.org/paper/The-VoltDB-Main-Memory-DBMS-Stonebraker-Weisberg/e857a9909670b52184da9877efa207fbe2f99bcf?p2df= semanticscholar.org
- What's Really New with NewSQL? cmu.edu
- H-Store: Next Generation OLTP Database Research brown.edu
- Chapter 14. Saving & Restoring a VoltDB Database voltdb.com
- ACID Mistakes to Avoid in Database System Design voltactivedata.com
- Using VoltDB voltdb.com
- https://forum.voltdb.com/forum/voltdb-discussions/other/805-triggers-and-foreign-key-constraints voltdb.com
- CREATE TABLE voltdb.com
- CREATE INDEX voltdb.com
- Guide to Performance and Customization voltdb.com
- SELECT voltdb.com
- Chapter 15. Command Logging and Recovery voltdb.com
- Part 5: Stored Procedures voltdb.com
- https://docs.voltdb.com/UsingVoltDB/DesignProcAnatomy.php voltdb.com
- 1.3. How VoltDB Works voltdb.com
- https://www.voltactivedata.com/wp-content/uploads/2017/03/hv-white-paper-voltdb-technical-overview.pdf voltactivedata.com
- VoltDB System Properties db-engines.com
- CREATE VIEW voltdb.com
- HPE Newsroom | HPE hpe.com
- On the Radar: VoltDB, Just the Latest Database Company from Mike Stonebraker - Innovation Economy - Boston.com boston.com