3

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.

VB.
  • 474
  • 2
  • 10
  • 1
    Any preferred language? Is LGPL really a problem? – Bruno Aug 26 '10 at 14:53
  • No language preferences at all. LGPL, as far as I understand, is the problem when developing commercial software. – VB. Aug 26 '10 at 15:02
  • LGPL (as I understand it) can be used in commercial software, as long as you make no modifications to the library itself and provide a way for the user to swap out the library against their own modified versions. – Thilo Aug 27 '10 at 01:39

1 Answers1

4

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.

BenD
  • 821
  • 5
  • 8