New Release (March 2011)

Although the H-Store project is not on a regular release schedule, we feel that we have reached a point where we have some new features that may be of interest to the research community. Our goal is not to create a full-featured, stable system to use in production environment, but there are some features that distinguish us from VoltDB.

Major highlights of this release:

  1. Significant optimizations of single-partition transactions. Added heavy use of object pooling and cached query batch planning.
  2. Added support for general transactions that touch an arbitrary number of partitions.
  3. Improved distributed query planner. Unlike VoltDB’s query planner, we can now push down projection operators and parallelize all aggregates supported by H-Store (except for COUNT(DISTINCT)). This greatly reduces the amount of data that needs to be sent from all of the partitions to the initiating partition.
    Update: VoltDB’s query planner now does predicate push-down as of May 2011.
  4. The system can predict the execution path of arbitrary transactions. The developer no longer needs to annotate stored procedures with the @ProcInfo that VoltDB requires (more details coming soon).
  5. Many bug fixes for interacting with the transaction coordinator (support for larger batch sizes).
  6. New tuning parameters.
  7. Improved the H-Store Catalog Viewer Tool

The source code for this release can be download via anonymous SVN:

Or from a pre-packaged source code tarball.