Tuesday, March 26, 2013

Re: Is there a plan for Django to handle NoSQL databases natively?


On Wed, Mar 27, 2013 at 12:46 AM, Javier Guerra Giraldez <javier@guerrag.com> wrote:
On Tue, Mar 26, 2013 at 11:10 AM, Donnie Darko <gittestdev@gmail.com> wrote:
> I was wondering if there there was a plan to change Django's ORM to support
> NoSQL databases?


since there's no such thing as "common NoSQL features", each datastore
would need its own modifications, so i think the common attitude is
that most of these features don't belong in the ORM.

I'm not sure where you've got that impression. Django's ORM was *specifically* designed in a way to allow for NoSQL backends. Look at the architecture of the django.db module -- there's a query module, and a sql submodule. There's very little SQL content in the base query module. That's so that we can add a "noSQL" module at some later date. We've also been aggressive about adding SQL-specific features (e.g., HAVING clauses, GROUP BY clauses) to the ORM API.

There's a *very* clear high level API picture of how NoSQL integration to the ORM API would happen. See the design discussions around the NoSQL GSoC project for more details. 

What we *don't* have is a huge amount of interest in actually doing the work to make NoSQL a development priority. NoSQL generated a lot of buzz a few years ago, but now the buzz has died down, sober heads have prevailed, and it's become clear that a well configured PostgreSQL store is easily a match for a NoSQL for most use cases.

I'm not saying NoSQL doesn't have it's place. I'm just saying that 99% of projects on the internet aren't *ever* going to face the sort combined load demands and usage patterns that would expose the limits of a good relational datastore and make a NoSQL datastore a necessity. And as a result, the core team hasn't been spending a whole lot of effort in this area.

That said - if someone wants to take on Django NoSQL support as a project, they're certainly free to, and if they can clearly articulate a set of changes needed in trunk that are needed to make this support happen, I'm sure someone in the core team would be willing to make those changes.

Yours,
Russ Magee %-)

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment