3 ms·
For those that are not familiar with Hyperdex[1], it is an open-source, performant, ACID compliant key-value store with commercial support[2] for fully distribu
by deepanchor 10y ago
For those that are not familiar with Hyperdex[1], it is an open-source, performant, ACID compliant key-value store with commercial support[2] for fully distributed transactions.
It seems that Robert Escriva (creator of Hyperdex) is now working on a new database called Consus with the following key differences[3]:
“Consus has two (three) differences from HyperDex that I believe will make it more appealing in the long run:
1. Consus doesn't separate the implementations of transactions and the regular code. Once we have a paper public on the topic and I have clearance to release the code, all of the code will be available under the same license, with no commercial fork.
2. Consus provides wide-area, geo-replicated transactions with much lower latency than is possible in any other system I know with the same consistency that Consus provides.
3. I’m still actively working on Consus; I'm not actively working on HyperDex."
[1] http://hyperdex.org/ http://hyperdex.org/
[2] http://hyperdex.org/warp/ http://hyperdex.org/warp/
[3] https://github.com/rescrv/HyperDex/issues/233 https://github.com/rescrv/HyperDex/issues/233
*edit: should have linked to the project's homepage (http://consus.io/ http://consus.io/) which contains more details, if mods could change the link that would be great ;)
- lobster_johnson 10y agoHyperDex is pretty interesting. I evaluated it for a project last year, but decided not to use it. One reason was that at the time, the project seemed to have been abandoned; the author did not respond to issues or pull requests. Another was that based on Google searches, there seemed to be no one else actually using it in production; so even considering getting the commercial ACID support seemed like a big gamble, never mind that I couldn't find any info on how it performed in large clusters, and so on. That said, it seemed technically brilliant, and fast. If Escriva can accomplish the same thing with Consus, in a fully open source way, and gain traction enough to keep the project alive, I could see this as something I would consider using. That said, I'm wary of anyone who just abandons projects like that, without telling anyone about it.
- deepanchor 10y ago> If Escriva can accomplish the same thing with Consus, in a fully open source way, and gain traction enough to keep the project alive, I could see this as something I would consider using. Totally agree. I feel like there's a big void in the open-source world for this type of technology that has yet to be filled. There used to be FoundationDB and, well, we all know what happened there. CockroachDB is probably the only other active, open-source project right now that claims to have strong ACID guarantees for multi-database transactions. However, the team is not wholly focused on performance at this stage of development (which some of their early benchmarks demonstrate). If Consus can retain some of the performance characteristics of Hyperdex while providing completely open source distributed transactions, it will be an absolute game changer.
- lobster_johnson 10y agoIt's promising, at least. I think a system like this would be the most useful if you're able to layer a query language on top of it, and apparently even FoundationDB (which had an SQL layer on top of a K/V store) didn't perform all that well. The Cockroach guys claim to have found a performant way of doing SQL on top of K/V, if I remember correctly, but we'll see. But having transactions in a distributed K/V store is certainly useful.
- spullara 10y agoIf you are willing to optimize for a KV store with distributed transactions you can do a lot better than putting a SQL layer on top of it.
- lobster_johnson 10y agoNot sure what you mean by that. Consus seems to be directly inspired by Google's Spanner, which famously has an SQL layer, F1, on top.
- spullara 10y agoIt does, but unless you know it is on top of a distributed KV store and design your schema and queries around that you will suffer horrible performance issues. Also, F1, similar to FDBs implementation, forces you to model your databases differently than you would in a "normal" oltp relational database.