ArticleslgStudy

computer science

VoltDB

VoltDB is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand VoltDB rather than just read about it. In short: Volt Active Data (formerly VoltDB) is an in-memory database designed by Michael Stonebraker, Sam Madden, and Daniel Abadi. That team had started an experimental version called H-Store while working at a set of US universities.

VoltDB — main illustration
VoltDB — illustration

Key takeaways

  • VoltDB belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect VoltDB to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of VoltDB from memory before moving on to harder problems.

Reference excerpt

Volt Active Data (formerly VoltDB) is an in-memory database designed by Michael Stonebraker, Sam Madden, and Daniel Abadi. That team had started an experimental version called H-Store while working at a set of US universities. It is an ACID-compliant RDBMS that uses a shared-nothing architecture, and is derived from work done by Stonebraker on OLTP system performance and optimization. It is available in both enterprise and community editions. The community edition is licensed under the GNU Affero General Public License.

Architecture VoltDB is a NewSQL OLTP relational database that supports SQL access from within pre-compiled Java stored procedures. While direct SQL access is supported, the most efficient form of interaction is using stored procedure calls, as it involves fewer network trips. Stored procedures are written in Java by extending a class called VoltProcedure' and implementing a ‘run()’ method that includes both SQL statements and supporting Java logic. Internally data is managed by a C++ core to avoid garbage collection issues. 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). VoltDB is based on H-Store. It uses a shared-nothing architecture to scale. Data and the processing associated with it are distributed across the CPU cores within the servers composing a single VoltDB cluster. By extending its shared-nothing foundation to the per-core level, VoltDB scales with the increasing core-per-CPU counts on multi-core servers. 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 locking or latching, similar to the LMAX architecture. Because 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 avoiding a single serializable global order. VoltDB is ACID compliant. Data is written to durable storage. Durability is ensured by continuous snapshots; asynchronous command logging, which creates both snapshots and a log of transactions between snapshots; and synchronous command logging, which logs transactions after the transaction completes and before it is committed to the database. This ensures that no transactions are committed that are not logged and that no transactions are lost.

History

H-Store H-Store was an experimental database management system (DBMS). It was designed for online transaction processing applications. H-Store was developed by a team at Brown University, Carnegie Mellon University, the Massachusetts Institute of Technology, and Yale University in 2007 by researchers Michael Stonebraker, Sam Madden, Andy Pavlo and Daniel Abadi. H-Store was promoted as a new class of parallel database management systems, called NewSQL, that provide the high-throughput and high-availability of NoSQL systems, but without giving up the transactional consistency of a traditional DBMS known as ACID (atomicity, consistency, isolation and durability). Such systems operate across multiple machines, as opposed to a single, more powerful, more expensive machine. H-Store was able to execute transaction processing with high throughput by forgoing many features of traditional relational database management systems. H-Store was designed as a parallel system to run on a cluster of shared-nothing, main memory executor nodes (processor + memory + storage). The database is partitioned into disjoint subsets each assigned to a single-threaded execution engine assigned to one core on one node. Each engine has exclusive access to all of the data in its partition. Because it is single-threaded, only one transaction at a time can access the data stored on that partition. No physical locks or latches are included in the system, and once a transaction is started, it cannot stall waiting for another transaction to complete. Throughput is increased by increasing the number of nodes in the system and reducing partition sizes. H-Store was licensed under the BSD license and GPL licenses. By 2009, the VoltDB company developed a commercial version. The final release of H-store was in 2016.

VoltDB VoltDB v5.0 introduced a database monitoring and management tool, the VoltDB Management Center (VMC for short). VMC provides browser-based one-stop monitoring and configuration management of the VoltDB database, including graphs for cluster throughput and latency as well as CPU and memory usage for the current server. VoltDB version 5.1, released in March 2015, introduced database replication (DR) functionality, removing any single point of failure. DR provides simultaneous, parallel replication of multiple partitions and binary logs of transaction results, saving the replica from having to replay the transaction. V6.0

introduced geospatial datatypes V6.1

added streams, which can be inserted into, with support for aggregation in materialized views on the streaming data,. V6.6

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with VoltDB

Start with the simplest possible case. Write down what VoltDB claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to VoltDB before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about VoltDB ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of VoltDB

In research
VoltDB appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses VoltDB in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
VoltDB is common in secondary-school and first-year university syllabi. It links to neighbouring topics Free database management systems, NewSQL, Relational database management software for Linux, so understanding it makes those chapters shorter.
In everyday life
Look for VoltDB outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study VoltDB in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what VoltDB means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain VoltDB out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is VoltDB in simple terms?

Volt Active Data (formerly VoltDB) is an in-memory database designed by Michael Stonebraker, Sam Madden, and Daniel Abadi. That team had started an experimental version called H-Store while working at a set of US universities.

Why does VoltDB matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study VoltDB?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on VoltDB.

Tags

  • Free database management systems
  • NewSQL
  • Relational database management software for Linux
  • Software using the GNU Affero General Public License

Keep exploring