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?
-
Except for wanting a Python syntax for map/reduce, I cannot see the validity of any of these arguments. You can have a Python-based console without the db server in Python. Mongo is not difficult to deploy. And for a DB server, you really want maximum performance at the core engine (there are popular DBMS written in Java though, so maybe it can be done in Python, too).Thilo– Thilo2010-10-06 12:51:09 +00:00Commented Oct 6, 2010 at 12:51
-
Re: map/reduce in Python: jira.mongodb.org/browse/SERVER-699Thilo– Thilo2010-10-06 12:53:10 +00:00Commented Oct 6, 2010 at 12:53
4 Answers
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.
5 Comments
This is an old question, so I do not know whether this is still relevant, but I just found this pure python noSQL database that looks really nice:
If you want some pure python indexing and full-text search solution, you could be interested in Whoosh, in some use case, this is completely relevant to use this as a storage.
For both of these, I'm not sure about an ORM interface.
If you started your own solution since then, I would be interested in it.
Comments
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.
3 Comments
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.