Question: I am looking for a lightweight, reliable and fast key/value database for storing binary data. Simple without server. Most of popular key/value databases like CDB and BerkeleyDB does not natively store `BLOB`. What can be the best choice that I missed?

My current choice is SQLite, but it is too advanced for my simple usage.

Answer: 
If you don't need "multiple writer processes" (only multiple readers works), want something small and want something that is available on nearly every linux, you might want to take a look at gdbm, which is like berkeley db, but much simpler. Also it's possibly not as fast.

In nearly the same area are things like tokyocabinet, qdbm, and the already mentioned leveldb.

Berkeley db and sqlite are ahead of those, because they support multiple writers. berkeley db is a versioning desaster sometimes.

The major pro of gdbm: It's already on every linux, no versioning issues, small.
Which OS are you running? For Windows you might want to check out [ESE](http://en.wikipedia.org/wiki/Extensible_Storage_Engine), which is a very robust storage engine which ships as part of the OS. It powers Active Directory, Exchange, DNS and a few other Microsoft server products, and is used by many 3rd party products ([RavenDB](http://ravendb.net/) comes to mind as a good example).