tags:

views:

29

answers:

3

I would like to find a nosql solution as handy as sqlite.

That means:

  • one or two files
  • does not need a daemon to manage it
  • usable in a directory/virtualenv
  • ideally python API, but not that important
  • preferably document based over key-value, but i'll take what i can get

What, if any are my options.

+1  A: 

Tokyo Cabinet

Another thing to do is just use a decent filesystem like btrfs or (dare I say it?) reiserfs and just store each document in its own file and have the filename be the key. Then the directory is the 'single file' you're looking for.

Of course, both of those are key -> value based. You can use 'grep' or something like it to turn either into a document based approach. You could also use something like 'Protocol Buffers' for your documents. That would allow a very efficient, language independent means of storing your data. Of course, you'd then have to write your own code for querying your documents.

Omnifarious
Tokyo Cabinet interesting thanks. I'm aware of the second method, although any filesystem would do. I've done it a fair bit before but I wanted to try something new.I'm checking into Protocol Buffers ;)
chiggsy
A: 

Take a look at y_serial. It uses SQLite as the underlying store, but gives you a key-value schema-less interface.

http://yserial.sourceforge.net/

Kenny Peng
A: 

Maybe the closest is OrientDB:

  • Can run as embedded
  • Few files created for a simple db
  • Supports for SQL (with extensions for document based queries)
  • Supports ACID tx
  • Really tiny (the embedded version is less than half MB)
  • Really fast: 50.000 inserts per second on common hw
  • Apache 2 license: free for any use
Lvca
Quite interesting. Java dependency is nowhere near as handy as Sqlite though, unfortunately.
chiggsy