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
- Trying out llama.cpp's new vision support - 10th May 2025
- Saying "hi" to Microsoft's Phi-4-reasoning - 6th May 2025
- Feed a video to a vision LLM as a sequence of JPEG frames on the CLI (also LLM 0.25) - 5th May 2025