Original Post
There are large, peer-to-peer "hash" file systems like some P2P networks of various kinds. There are in-core "hash" databases like Berkeley DB etc. There are distributed, serialization-based object databases. There are LAN-based path-to-file file systems, varying in approach from NFS to Mogile. But is there a networked, RAM-cached, key-hash-to-blob database, similar to memcached but with persistency? I can see how something like that could reasonably easily be built and distributed over nodes. Also, I can see how hot fail-over and load-based partitioning can be implemented. What I can't see is how to recover from a node dieing -- whatever part of the hash space it is serving would be read- and write-locked until the node comes back online. With hot fail-over, that needn't be so bad, but it's still something that would be interesting to consider. The main objectives would be to have an extremely high performance key->value database (10,000 queries per second per node because of in-ram tables) with ACID update guarantees, and you'd add database nodes until you had enough RAM to generally cache *all* the data in RAM. Starting up a database would involve loading the entire database, then re-playing the transaction log, then becoming available for queries and updates. You can also add read slaves in a consistent manner by forwarding updates and requiring confirmation before acknowledging commits to the initial requestor. So... what open project, if any, has implemented a system like this?