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][05][07][08]
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][05][07][08]
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.
The original source code was removed from GitHub is no longer available. The project is no longer considered open-source.
Checkpoints[10]
The snapshot creation could either block all the other transactions or be done in a non-blocking way (e.g. Copy-On-Write).
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.
VoltDB supports serializable isolation level with ACID guarantee. The deterministic ordering of transactions is achieved by controllers at each data partition.
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[18]
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.
Apart from supporting most of the standard SQL statements, VoltDB also allows the user to define pre-compiled stored procedures.
Storage Architecture[10]
VoltDB is designed to be an in-memory relational DBMS. Its data persistence is achieved by snapshots stored on disk.
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.
VoltDB runs on a sharded DBMS cluster. Data partitioning and replication is done automatically across the cluster
Views[24]
Views in VoltDB are materialized to improve read speed, and all updates to the original table will have a performance impact.
Citations
26 sources- Volt Active Data | Real-Time Decisioning Platform voltactivedata.com
- https://github.com/VoltDB/voltdb github.com
- Volt Active Data Documentation voltdb.com
- Volt Active Data Blog: Real-Time Data & 5G Insights voltactivedata.com
- VoltDB - Wikipedia wikipedia.org
- https://twitter.com/VoltDB twitter.com
- 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
- https://www.voltactivedata.com/blog/2016/02/acid-how-to-screw-it-up 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