Harman Patil (Editor)

HyperDex

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Initial release
  
2011

Written in
  
ANSI C, C++

Development status
  
Inactive

Operating system
  
Cross-platform

Stable release
  
1.8.0 / July 9, 2015 (2015-07-09)

HyperDex is an open source distributed data store. In the NoSQL data store space, HyperDex distinguishes itself by offering high performance, a rich API, ACID transactions that span multiple objects, and strong consistency and fault-tolerance guarantees. It was developed by a systems team at Cornell University through a multi-year research project.

Contents

As of November 2016, the project has been declared inactive, in favor of a newer project called Consus.

Main features

Distributed
Data is distributed across the cluster, without a single point of failure.
Flexible Data Model
HyperDex can act both as a key-value datastore and a document store, supporting unstructured (schema-free), semi-structured, and structured (schema-based) data.
High-Performance
Next-generation replication and query protocols enable HyperDex to process operations with minimal overhead.
Scalability
Read and write throughput both increase linearly as new machines are added, with no downtime or interruption to applications.
Fault-tolerant
Data is automatically replicated across multiple servers to tolerate a user-specified number of concurrent failures. Failed nodes can be replaced with no downtime.
Strong consistency
HyperDex guarantees that every GET returns the result of the latest PUT. There are no complicated consistency models to learn or programming quirks, such as conflict resolution, to master.
Multikey transactions
HyperDex supports ACID transactions that span any number of objects.

Performance

A performance test that measures performance of HyperDex using identical setup to an independent study that evaluates the performance of Apache Cassandra, MongoDB, and HBase side-by-side shows HyperDex to have superior throughput and latency. Multi-dimensional hashing is achieved through a different mechanism called hyperspace hashing than BigTable's multiple column approach. The consistency guarantee is achieved through a novel chaining protocol.

Supported languages

HyperDex supports C, C++, Go, Java, Node.js, Python, Ruby.

References

HyperDex Wikipedia