Russ' points on number 3 are very interesting. Regarding multi-read/write 
There are a number of places throughout the code where DB operations scale 
linearly when they could be constant (in terms of queries). As for 
multi-reads, at some point there's going to be a limit to what you can 
combine to produce a performance boost vs. just generating more complexity 
and overhead. The way writes work on M2M relations do bug me personally, but 
it's never been a high-priority issue on my list.

That said, in the context of "extremely high traffic sites" the types of 
issues you've described are already mitigated by good use of caching, 
database architecture, etc. using existing facilities and tools. You said 
you interned at Facebook so obviously you've seen some of this in action. As 
an aside, I'd bet good money their site would be faster and scale far better 
if it were using Django rather than their hacked up "PHP custom-compiled 
into C" mess that they've chosen to stick with. All the same Django doesn't 
necessarily need to take the place of proper external tools, planning and 
expertise as long as it provides good hooks to put them all to use.

Asynchronous DB access would be very cool. Obviously it isn't going to be 
supported by many of the backends Django ships with, but it would be an 
extremely interesting feature. From a philosophical standpoint I like it 
because it fits the concept of Django's ORM not being an abstraction of SQL 
but rather a means of dealing with *objects*. Also, I believe several of the 
non-rel database engines support asynchronous operations as well, so it 
would be a boon to those projects as well. My big concern there would be in 
answering the question "how do you know when is the *right* time to fetch 
the data asynchronously?" I could envision this bogging down a DB if 
configured poorly in the same way that badly-done AJAX can be a mess on a 
web server.

Either way, there's certainly some meat on the bones of that last idea. I'd 
be very curious to see a more thorough proposal/set of ideas (feature for 
the 1.4 or 1.5 timeframe?).

All the best,

    - Gabriel Hurley

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to