Riak Backend Based on CouchDB B-Tree
The CouchDB with a Riak backend didn’t get too far and since then we’ve got BigCouch. But the opposite combination seems to be interesting too.
Kresten Krab Thorup released a backend for Riak based on couch_btree riak_btree_backend.
When compared with LSM trees and Fractal trees, B+Trees do not show the highest write performance. And recently the Acunu research team has published a paper Stratified B-trees and versioning dictionaries about a new data structure, the “stratified B-tree“:
A classic versioned data structure in storage and computer science is the copy-on-write (CoW) B-tree — it underlies many of today’s file systems and databases, including WAFL, ZFS, Btrfs and more. Unfortunately, it doesn’t inherit the B-tree’s optimality properties; it has poor space utilization, cannot offer fast updates, and relies on random IO to scale. Yet, nothing better has been developed since. We describe the `stratified B-tree’, which beats all known semi-external memory versioned B-trees, including the CoW B-tree. In particular, it is the first versioned dictionary to achieve optimal tradeoffs between space, query and update performance.
With its pluggable storage backend (InnoDB, Bitcask, couch_btree, etc.), Riak might provide at some point a “stratified B-tree”implementation too.
Update: Here’s the Hacker News discussion about the “Stratified B-trees and versioning dictionaries” paper.
Original title and link: Riak Backend Based on CouchDB B-Tree (NoSQL databases © myNoSQL)