Magma, a new storage engine for Couchbase
Many years ago I sat next to a Couchbase exec at a VLDB event and was explained on how awesome their new storage engine was especially when compared to RocksDB. That new engine was based on ForestDB and while the idea was interesting the engine was never finished. On the bright side I got to meet the clever person who invented the ForestDB algorithm and had fun evaluating the perf claims (blog posts A , B , C , D ). At last, Couchbase has a new storage named Magma. The VLDB paper is worth reading, the engine design is interesting and the product is feature complete. The rest of this post explains Magma based on the paper and a few other posts. The Magma engine is an example of the index+log index structure and looks like a great upgrade from the previous engine (Couchstore). Motivation Magma should eventually replace Couchstore as the Couchbase storage engine. Couchstore is a copy-on-write B-Tree ( CoW-S ). Compaction (GC) for Couchstore is single-threaded and not incremental (a dat