I'm wondering if there is a light-weight, embeddable, key/value database available.
Something similar to a light-weight Couchdb (Peaceful, key/value, etc) in which you just send it the important thing also it responds with appropriate values.
Around the Related Projects page from the CouchDB wiki, under "Options" they mention some similar projects:
- Feather DB* CouchDB clone in java.
- StrokeDB* A CouchDB-like database designed in Ruby to create embedding into Ruby applications simpler.
- mongoDB A higher-performance, free, schema-free document-oriented database.
Not to mention Tokyo, japan Cabinet which was already pointed out.
Additionally, there are neo4j the industry "graph database" for java.
Obviously, area of the energy of CouchDB and a few of the others isn't just having the ability to store key/value pairs, however the high capacity, replication, and particularly sights, that are essentially the clear way of running queries over your documents.
Should you just needed an easy key/value datastore that you could embed to your program, that does not need to hold gigs of information, the venerable GDBM might meet your requirements.
Just a little tough to answer not understanding a little much more about your requirements (programming language, concurrency needs, data volumes and the like).
* Site doesn't seem to be working during the time of this writing.
Would TinyCDB be appropriate?
TinyCDB is an extremely easy and quick package for creating and reading through constant data bases, an information structure created by Serta J. Bernstein in the cdb package. It might be accustomed to accelerate searches inside a sequence of (key,value) pairs with very large quantity of records. Example usage is indexing a large listing of customers - in which a search will need linear reading through of a big /etc/passwd file, as well as for a number of other tasks. It's usage/API is comparable to ones present in BerkeleyDB, gdbm and traditional *nix dbm/ndbm libraries, and it is compatible in large degree to cdb-.75 package by Serta Bernstein.
CDB is really a constant database, that's, it can't be up-to-date in a runtime, only reconstructed. Repairing is atomic operation and becomes manifest pretty quickly - considerably faster than of numerous other similar packages. Once produced, CDB might be queried, along with a query takes almost no time to accomplish.
The OS filesystem is really a lightweight key/value database. Secrets are filenames and values are data within the files.
The term "embeddable" comes with an odd meaning whether it's to become Peaceful, and so i don't really understand your needs but when you just need storage and retrieval, why don't you make use of the FS?
Simple, embeddable key/value database ? That's virtually BDB
memcacheDB? But, it does not support Relaxation.
For which platform? Tokyo, japan Cabinet is really a lightweight, embeddable, associative database engine for a number of scripting conditions (Java, Ruby, Perl, Lua, et al.)
Take a look at Perst -- it's licensed GPLv2 and/or proprietary based on your requirements. I have not used at all it however i hear it's good. This is an application-embedded key-value store database underactive development with ports to numerous popular frameworks and languages.