[Mailman3-dev] SQLite

Ian Eiloart iane at sussex.ac.uk
Fri Aug 27 14:19:24 CEST 2004


--On Thursday, August 26, 2004 4:33 pm -0400 Kevin McCann 
<kmccann at bellanet.org> wrote:

>
> Not sure if this'll help, but::
>
> http://www.sqlite.org/lockingv3.html
>
> - Kevin

To me, that looks like a pretty poor locking model for a large site. The 
problem is that the whole table (maybe even several tables) gets locked 
when a process wants to write to it.

That means that changes to the database will temporarily prevent any READS 
from the database. It also means that you can't write to the database when 
any process is reading from the database. When a process wants to write, it 
has to take out a PENDING lock.

Something like pgSQL, with transaction rollback and record level locking is 
going to have far better performance.

Having said all that, for a site with low traffic, all of that isn't going 
to cause a problem. I reckon that an ideal installation process should ASK 
whether there is an existing database server, and if not, should offer to 
use SQLite after warning that performance problems will occur in high 
traffic sites. If a database server does exist which can be used, then the 
install process should (ideally) help with creating the necessary tables.


-- 
Ian Eiloart
Servers Team
Sussex University ITS



More information about the Mailman3-Dev mailing list