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
2010-10-05 16:05:42
sqlalchemy is for relation data only, not nested structures (dictionaries)?
Dantalion
2010-10-06 09:22:32
you can model nested structures with relations just fine, and sqlalchemy will make them easy to access
Radomir Dopieralski
2010-10-06 17:47:01
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
2010-10-07 14:16:43
+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
2010-10-05 23:49:54
+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.
Cheers
Ramesh Vel
2010-10-06 08:37:15
Looking for a Python implementation. I believe Mongo is written in C/Erlang
Dantalion
2010-10-06 09:22:02
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
2010-10-06 09:31:16
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
2010-10-07 14:15:26
"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
2010-10-08 01:22:39