HyperDex
Initial release | 2011 |
---|---|
Stable release |
1.8.0
/ July 9, 2015 |
Repository |
github |
Development status | Inactive |
Written in | ANSI C, C++ |
Operating system | Cross-platform |
Available in | English |
Type | Key–value stores |
License | BSD |
Website |
hyperdex |
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
- ↑ https://github.com/rescrv/HyperDex/issues/233
- ↑ Escriva, Robert (2012-08-14). "HyperDex: A Distributed, Searchable Key-Value Store" (PDF).
- ↑ Sverchkov, Sergey (2014-02-03). "Evaluating NoSQL performance: Which database is right for your data?". JAX Magazine.
- ↑ 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
- Official HyperDex project page
- Benjamin Darfler: "Dropping ACID on your NoSQL".
- micrypt: "Getting started with HyperDex".
- Renat Mennanov: "HyperDex — NoSQL key-value new by opensorsnoye the storage gr on very fast searching".