HyperDex

This article is about HyperDex software. For Hyperdex-1-Sect, see X Marks the Pedwalk.
HyperDex
Initial release 2011
Stable release
1.8.0 / July 9, 2015 (2015-07-09)
Repository github.com/rescrv/HyperDex
Development status Inactive
Written in ANSI C, C++
Operating system Cross-platform
Available in English
Type Key–value stores
License BSD
Website hyperdex.org

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.

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

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.[2][3] 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.[4]

Supported languages

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

References

  1. https://github.com/rescrv/HyperDex/issues/233
  2. Escriva, Robert (2012-08-14). "HyperDex: A Distributed, Searchable Key-Value Store" (PDF).
  3. Sverchkov, Sergey (2014-02-03). "Evaluating NoSQL performance: Which database is right for your data?". JAX Magazine.
  4. Escriva, Robert (2012-08-13). "HyperDex: A Distributed, Searchable Key-Value Store" (PDF). SIGCOMM. A novel chaining protocol enables the system to achieve strong consistency, maintain availability and guarantee fault tolerance.

External links

This article is issued from Wikipedia - version of the 11/22/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.