Elliptics

Elliptics was created to meet requirements of multi-datacenter and physically distributed storage locations when storing huge amount of medium and large files (1 KB up to gigabytes in size, thousands to billions of objects).

Elliptics was created in 2007, initially as a part of POHMELFS,[1][2] a cache coherent distributed file system developed by Linux programmer Evgeniy Polyakov.

Polyakov tried different approaches to distributed data storage systems, some of them were not suitable because of their complexity and some of them were too far from a real-life (BerkeleyDB, LevelDB, Kyoto Cabinet backends for medium and big files, different datacenters in a single DHT ring, non eventual recovery).

Elliptics is eventually consistent system with multiple updated in parallel replicas potentially living in physically distributed locations.

Elliptics supports server-side scripting in C++, JavaScript, Python, based on the Cocaine technology, SLRU cache and multiple pluggable backends (eblob is the fastest for medium and large data and the most popular one).