Waldemar Kornewald on April 27, 2010

Official nonrel/NoSQL support in Google Summer of Code!

This is great news for Django developers who want to use non-relational DBs: Alex Gaynor got accepted for adding non-relational DB support to Django's ORM during Google Summer of Code! This means that we now have to make sure that the ORM changes are flexible enough to build a common API for all nonrel DBs, so code can be reused everywhere without any modifications (or, at least between DBs with similar capabilities).

Once we have official nonrel support in Django we can move on to the next phase of Django-nonrel: building an indexing layer which supports denormalization and many other features that go beyond the DB's native capabilities and which you'd normally implement by hand. This topic has been discussed in the recent DjangoDose NoSQL panel and you surely noticed how controversial it is.

Well, we don't have to decide which solution is the best one - both have their pros and cons. Instead, our planned Django-nonrel indexing layer can be an optional package (outside of Django core) that you can use on top of the low-level backend if you want more productivity, at the cost of having to understand what the technical limitations behind this method are (they're the same as for hand-written code, but you should know what happens internally: denormalization, hidden index models, background tasks, sharded counters, etc.).

Do you have any questions or suggestions? Please post a comment below.