H-Store

H-Store was an experimental database management system designed for on-line transaction processing applications.

History

H-Store was originally conceived as the academic prototype. The original version of H-Store was a single-node proof-of-concept used in the 2007 VLDB paper. In the beginning of 2008, researchers at Brown, MIT, and Yale started working on a full-fledged, general purpose H-Store system. At the same time, Horizontica was launched as an secret internal project at Vertica. Once again, these were separate code bases that were to serve separate purposes. In the spring of 2008, it was decided to merge together the backend execution engine of H-Store and the front-end transaction coordinator and query planner of Horizontica. After the VLDB demo in the fall of 2008, the H-Store codebase was forked off and became VoltDB. The final version was announced in 2016. There have been no new developments since then. The code

Checkpoints

Consistent

Concurrency Control

Deterministic Concurrency Control

Data Model

Relational

Isolation Levels

Serializable

All transactions execute with `SERIALIZABLE` isolation. It is not possible to execute transactions at a lower isolation level.

Logging

Command Logging

Storage Architecture

In-Memory

Stored Procedures

Supported

All transactions are executed as Java-based stored procedures.

System Architecture

Shared-Nothing

Views

Virtual Views

H-Store only supports simplistic views based on aggregations (e.g., `COUNT`, `SUM`).

H-Store Logo
Website

http://hstore.cs.brown.edu/

Source Code

https://github.com/apavlo/h-store

Tech Docs

http://hstore.cs.brown.edu/documentation/

Former Name

Horizontica

Country of Origin

US

Start Year

2006

End Year

2016

Project Type

Academic, Open Source

Written in

C++, Java

Derived From

HyperSQL

Operating Systems

Linux

Licenses

BSD, GPL v3

Wikipedia

https://en.wikipedia.org/wiki/H-Store