Bitcask


Bitcask is an Erlang application that provides an API for storing and retrieving key/value data into a log-structured hash table. The design owes a lot to the principles found in log-structured file systems and draws inspiration from a number of designs that involve log file merging.

Strengths

Bitcask has a number of advantages owing to its write-once, append-only on-disk data-format and its use of an in-memory hash-table of keys for lookups:
Because Bitcask keeps all keys in memory at all times, the system must have enough memory to contain the entire keyspace in addition to other operational components and the operating system's file-system buffers.