More lightweight software: SQLite
12th March 2003
The other toy I’ve been playing with recently is SQLite. SQLite is an embeddable SQL database engine written in just under 25,000 lines of (heavily commented) C. Don’t let the size fool you—it’s phenomenally powerful and is released under a no-holds-barred public domain license that practically begs you to include it in your applications, commercial or not.
The feature list is pretty awesome—it’s two times faster than both mySQL and Postgres on simple operations, implements an impressive amount of the SQL92 standard (including transaction support) and has bindings for Tcl, PHP, Perl, Python and Java.
That said, the lack of a security model (databases are stored in a single file with no user authentication / permissions system) and the fact that it’s very much meant for embedding rather than featuring a client-server model mean it isn’t really suitable for web applications. Where it would shine (and where the author D. Richard Hipp intended it to be used) is in applications that would benefit from an ultra fast relational database but don’t need the overhead of embedding a large system such as mySQL. The no-strings license makes it a tempting prospect for that kind of work as well.
Definitely one for the tool box.
More recent articles
- Storing times for human events - 27th November 2024
- Ask questions of SQLite databases and CSV/JSON files in your terminal - 25th November 2024
- Weeknotes: asynchronous LLMs, synchronous embeddings, and I kind of started a podcast - 22nd November 2024