[development] SQLite and Drupal 7

Luc Stroobant lstroobant at gmail.com
Tue Feb 3 20:36:19 UTC 2009


Karoly Negyesi wrote:
> Hi,
> 
> In case you do not know, SQLite is a one-file database which Drupal 7 supports.
> 
> One thing we can do, and this is easy, to ship with Drupal install in
> a read-only SQLite database, say, in the Drupal root. This would allow
> install.php to become much cleaner and also make install profiles
> pretty much regular modules with an access to the whole Drupal system.
> This will make Drupal require SQLite, but I ran a poll, I ran a
> challenge and seemingly every site that has PHP 5.2 and PDO has SQLite
> as well.

I don't think it's a good idea to add such a requirement for something 
you only use at install time.

> Now, there is more. We could SQLite as a sort of SQL cache. We could
> put the following tables into SQLite:
> 
> a) system
> b) registry*
> c) menu_router
> d) variables
> e) some cache tables (caution: SQLite is not that good at concurrent
> writing. It works but only up to a certain point as it locks the whole
> database.)
> f) any other table that's read often and written not-so-often.
> 
> The first two needs some security hardening but that's ongoing.
> 
> The advantages are somewhat clear: very very early we have access to
> these things, in a standard, smooth SQL accessible way. On, say,
> registry rebuild or module enable, DBTNG could easily copy the
> relevant table from MySQL.
> 
> There is a disadvantage, however on every site that uses multiple
> webfrontends against the same MySQL database. There are two kinds of
> these, high performance sites and development sites. 
<snip>

I've been managing a few Drupal enterprise sites and this sounds like a 
nightmare to me. People who have a dedicated database server and an 
highly optimized setup don't want to add extra overhead and make things 
more complicated with a database in a file. You won't find sqlite 
support in properly configured servers for high performance sites.

And another example: in Debian PHP5 doesn't have sqlite support by 
default while it has pdo (you have to install a separate package for 
sqlite support). So I don't think it's that safe to say that everybody 
with pdo support also has sqlite...

Luc


More information about the development mailing list