On 16 Dec 2005, at 09:59, hugo wrote:

 But if you are running a web application, you just hook
up a middleware that opens a cursor on process_request and commits or
rolls back that cursor on process_response (if the user did handle his
transaction himself, it won't matter - the data will be committed or
rolled back already, so the remaining transaction would be empty) and
can close the database then.

This makes the assumption (currently inherent in Django) that you will only use one database connection. This can cause problems if you need to scale your application. Once you've scaled as far as you can with replication (something I am very keen for Django to support) the next step is to move to federation / sharding, where your data is split over multiple databases (users 1-1,000,000 on server 1, users 1,000,000-2,000,000 on server 2 etc). If you do that, you frequently need to connect to more than one database during a single request handling cycle.

Cheers,

Simon

Reply via email to