views:

97

answers:

3

Looking around for a noSQL database implementation that has an ORM syntax (pref. like Django's), lets me store and retrieve nested dictionary attributes but written entirely in Python to ease deployment and avoids Javascript syntax for map/reduce. Even better if it has a context-aware (menus), python-based console, as well as being able to run as a separate daemon task. Is there such an initiative already (I can't find it) or should I start one?

+1  A: 

I don't know about a noSQL solution, but sqlite+sqlalchemy's ORM works pretty well for me. As long as it gives you the interface and features you need, I don't see a reason to care whether it uses sql internally.

Radomir Dopieralski
sqlalchemy is for relation data only, not nested structures (dictionaries)?
Dantalion
you can model nested structures with relations just fine, and sqlalchemy will make them easy to access
Radomir Dopieralski
Right now I can store a nested dict very easily with Mongo. Please let me know a bit more about how you do it without NOSQL help, curious...
Dantalion
+1  A: 

The Google's BigTable presents developers with a SQL-like interface. However, you will need to access it via the Google App Engine.

In fact, if you're doing to do that, you may as well just use web2py. web2py's ORM works in GAE without any alterations. It even simulates joins via its application code.

Tim McNamara
+1  A: 

There is a Python mongo db driver PyMongo. It is a mongodb.org Supported driver. So its up to date.

And for GUI purpose, there are several experiments going on.

  1. PHP mongo admin
  2. Futon for mongo

Cheers

Ramesh Vel
Looking for a Python implementation. I believe Mongo is written in C/Erlang
Dantalion
Not Erlang, its in C. And I dont think there is a native python implementation , because speed and low level memory access is the main concern..
Ramesh Vel
I think that CPU speed is no longer an issue, should think the work is I/O bound. You're right about Erlang, that's RabbitMQ ... another candidate for higher level language implementation....
Dantalion
"I think that CPU speed is no longer an issue, should think the work is I/O bound.". Not sure. MongoDB works best (only works properly?) if most of your DB (or at least the frequently used indexes) fits into memory. In this case, I/O to memory-mapped files should be pretty fast.
Thilo