Is there any open-source document-oriented key-value map/reduce storage that:
- is easily embeddable (Yes, it is possible to embed, let’s say CouchDB, but it might be a pain to take the whole erlang machine onboard and I just don’t feel good about it bounded on some port when my app is running)
- does not keep the whole map in RAM (Hello, Redis!)
- is good enough to be in production use
- has a license different from GPL/LGPL/AGPL/whatever-else-GPL (Hey, MongoDB and Tokyo Cabinet!)
I don’t really care about horizontal scalability, as I think about building a desktop application, but what will be nice to have is some sort of the “attachments” like in CouchDB, i.e. a way to store binary files attached to my documents.
You should consider SQLite. There are already desktop applications that use it instead of managing files on disk.
http://www.sqlite.org/whentouse.html
http://www.sqlite.org/famous.html
I realize it’s not usually included alongisde “document databases” like CouchDB, but it can easily be used that way. Just store your JSON doc inside a column instead.
And it has the best software license of all: Public Domain.