New Release (January 2012)

The H-Store project is releasing the latest version of its experimental OLTP database management system.

Important: The major change in this release is that the source code repository has been moved entirely to Github. The original Subversion will remain online for the time being but all new features and fixes will be in Github.

This latest release includes several performance optimizations for both single-partition and distributed transactions, as well as support for new features, such as MapReduce transactions.

Major highlights of this release:

  1. Complete re-write of the distributed transaction coordination protocol. H-Store no longer uses the centralized Canadian-style transaction coordinator and instead uses a VoltDB-style timestamp-based ordering protocol (r2365, r2366)
  2. When the database cluster is brought online, the HStoreCoordinator at each node will use an NTP-style algorithm to estimate the clock skew between all other nodes. It will then offset its internal logical clock used when generating globally unique transaction ids to minimize the discrepency between nodes. This improves throughput for distributed transactions on large deployments using Amazon EC2. (r2609)
  3. The clients in H-Store’s built-in benchmark framework are now multi-threaded. The client.processesperclient parameter now specifies the number of client threads to use per JVM. This has been tested to scale to thousands of threads per JVM. (r2429, r2430)
  4. Restored support for VoltDB’s bingo benchmark (r2534, r2535). Renamed the expanded Airline benchmark to SEATS (r2572)
  5. Removed unused object pool pre-loading configuration parameters. (r2406)
  6. Various improvements to reduce to amount of memory used store the internal state of transactions in the system. (r2379, r2377, r2376)

The source code for this release can be downloaded via Github:

https://github.com/apavlo/h-store/tarball/release-2012-01