MemcacheDB
MemcacheDB sounds interesting:
MemcacheDB is a distributed key-value storage system designed for persistent. It is NOT a cache solution, but a persistent storage engine for fast and reliable key-value based object storage and retrieval. It conforms to memcache protocol(not completed, see below), so any memcached client can have connectivity with it. MemcacheDB uses Berkeley DB as a storing backend, so lots of features including transaction and replication are supported.
[via Holger Arendt]
Impressive benchmark in first sight but in second … There are only 8 concurrent clients. What happen if there come more, may be ten thousand? There are used four thread but I can’t determine how much CPU is in the box, assume one (does not scale 23k vs 18k reads/s and 44k vs 64k write/s), but how it scale on more CPU’s?
You mentioned transaction support, but there is not any on API. Transactions are used only for communication between MemcachedDB and Berkeley DB. API just provide some higher atomic operations which using backend transaction ability.
It doesn’t look so impressive in detailed view.
It goes worse, testing HW is dual core. Scaling gain is only 44%. Those are bad news.