Saturday, September 14th, 2019

Sqlite/sqlite3

I’m nearing completion of my first serious project based on sqlite. It’s been there for ages, but it’s always been a niche database. Until now I haven’t found an occasion to use it. Now, having had a close encounter, I’m impressed.
It’s very important to recognize that sqlite is not a general-purpose database server. The documentation goes to some length to explain the niche where sqlite thrives. The project I’m engaged in runs on a resource-constrained CPU and does not involve a lot of concurrency. Given these boundary conditions sqlite is an ideal candidate with its small footprint. It also performs well, being coded in C. It runs on most platforms and comes with quality documentation. It handles a powerful subset of SQL, like nested queries.
All this is the natural result of sqlite having achieved status as the “Most Widely Deployed and Used Database Engine” to quote the documentation. It is a very carefully maintained and supported product.
If I must highligt a unique feature I would pick the fact that a sqlite database is one single file. This means, for example, that you may use sqlite to manage a configuration database. Using a non-procedural query language to manage a configuration is a great relief compared to navigating XML files.

Comments are closed.