Leveled is a pure Erlang Key-Value store, designed specifically as a new backend for Riak KV. Originally started as a personal project, it’s now ready to be used in the real world.
All backends for Riak KV have limitations: Bitcask has only partial feature support (in particular not supporting secondary indexes, which may also mean it can never support certain CRDT optimisations), leveldb requires a context switch form Erlang to C++ and suffers from side effects from write amplification if you have non-trivial value sizes.
Leveled is a Key-Value store designed to have full-feature support for Riak. Also, it comes with some specific optimizations, which when aligned with changes in Riak, can lead to both functional and throughput benefits. Testing in a variety of EC2 configurations with mid-size object contents (>4KB), has shown that there’s a 20% to 120% throughput advantage in having Riak combined with leveled in comparison to Riak combined with leveldb. You can find more information in the project’s GitHub docs: https://github.com/
In this talk you’ll find:
Previously a networks and operations engineer, Martin has spent the last ten years working on the design, build and running of highly-available applications. His most recent projects are the Spine II Core system at the NHS (the central database and messaging system for the Health Service in England), and an open source Erlang Key-Value Store called Leveled. GitHub:
martinsumner
Twitter:
@masleeds