The first 80,000 SQLite installations

For one of our customers, the Vaillant Group (a leading European heating device manufacturer), we built a spare parts shop application for the web, including OCR recognition of exploded drawings. The web application is based on PHP/MySQL and has an imported catalogue of the SAP. Furthermore, the installers receive a CD with the shop application on it where a former MS Access application was displaced with ours. For this CD installation we chose to use SQLite as the underlying database, Microweb as the Webserver/PHP part and InstallAnywhere as the installer which makes it possible to install the shop on harddisk. The application will run directly from CD or can be installed from harddisk. We are currently extending the web application in a way that a country manager can control the whole CD generation process (import the country SAP dump, packaging the Webshop with Microweb, MySQL2SQLite, creating the installer, …) automagically.

The software was rolled out for the German market – 80,000 installations. We expect to roll out the other countries in the next months. I wouldn’t wonder if we will get through the 500,000 installations.

There were several reasons why we chose SQLite:

  • Speed. SQLite has proven to be faster than MySQL in this 1-concurrent-user-from-CD scenario because of the lower startup time (PHP is the database server)
  • Flexibility. With an additional PHPLIB SQLite database driver (yes, we choose PHPLIB because our framework uses it and we want to have a fast abstraction layer with small footprints) and some define(‚CDSHOP‘,true); constant the application from the web runs 1:1 on the CD.
  • Pricing issues. MySQL wanted too much money for this.

My conclusion: if you want to run small applications or (as in our case with more than 300,000 records in the DB) applications that are made for single user environments (like CD applications), SQLite could be the database of your choice.


Von Björn Schotte

Björn Schotte ist geschäftsführender Gesellschafter der Mayflower GmbH und Senior Consultant im Umfeld von Software- und Agilen Organisations-Themen. Er twittert unter @BjoernSchotte und ist auf Xing sowie LinkedIn erreichbar. Seine Vorträge finden sich bei Slideshare.

3 Kommentare

  1. we also selected sqlite for a project, where we need a local database in a single user environment. in our case more than 100,000 records where stored.

    the local part of the application was developed using cpp+sqlite, the server part with php+mysql.

    we recognized an impressive speed using sqlite rather then other local rdbms solutions, compared to the price ..

    k.i.s.s. (keep it simple stupid)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert