Reliable and efficient key--value database for Linux? [closed]
LMDB is the most memory-efficient database aroundhttp://symas.com/mdb/inmem/
and also proven to be the most reliable - completely crash-proof.http://wisdom.cs.wisc.edu/workshops/spring-14/talks/Thanu.pdf
Of the ones you've mentioned, Tokyo Cabinet has documented corruption issueshttps://www.google.com/search?q=cfengine+tokyo+cabinet+corruption
BerkeleyDB also has well-documented corruption issues, as does Bitcask. (And bitcask is an in-memory-only DB anyway, so useless for your 1MB RAM requirement.)
LMDB is also well-supported in Python, with a couple different bindings available.https://github.com/dw/py-lmdb/https://github.com/tspurway/pymdb-lightning
Disclaimer - I am the author of LMDB. But these are documented facts: LMDB is the smallest, most efficient, and most reliable key/value store in the world and nothing else comes anywhere close.
cdb can handle any database up to 4 GB, making it too small for the 20GB matter at hand.
Riak runs on Linux, and allows you to dynamically add nodes