If your API requirements are fully consistent with "Get (key), Put (key, blob), Remove (key)", then the storage of key values ββ(or rather, "Persistent Distributed Hash Table") is exactly what you are looking for.
There are many of these available, but without additional information it is difficult to make a firm recommendation - which OS are you targeting? What language (s) do you work in? What are the I / O characteristics of your application (cold / unchanging data such as images? High write loads as well as tweets?)
Some of the KV systems worth paying attention to are: - MemcacheDB - Berkeley DB - Voldemort
You can also look in document repositories such as CouchDB or RavenDB *. Document repositories are similar to KV repositories, but they understand the persistence format (usually JSON), so they can provide additional services such as indexing.
- If you are developing on .Net, then skip directly to RavenDB (you'll thank me later)
source share