SQLite 3.39.2
sqlite.org
sqlite.org
At one point we even hit inode limits.
I tested out storing the images in sqlite files across a few directories. I also testing using tar and zip storage with the same schema. Turns out the blog post they wrote was right, and SQLite was indeed faster than our normal IO.
Mapbox productionized this with their MBTiles [0] format, to store millions of small vector or raster map tiles in an SQLite database. Much easier to work with than millions of images on disk.
https://www.sqlite.org/whentouse.html
> SQLite does not compete with client/server databases. SQLite competes with fopen()
SQLite could handle a billion daily users with just one decent NVMe drive. You don't even have to do anything crazy to make this work. Just pick one of the top 10 techempower web frontends, tack on SQLite and set journal mode to WAL. Oh - try to use the same connection throughout as well. That one trips up a lot of developers used to the hosted SQL patterns.
Oh but what about high availability? DQLite, RQLite, et. al. are now ready to take you to the next level. You can also address this in your application logic instead of deferring to your RDBMS vendor (this is our path).
https://www.sqlite.org/whentouse.html
SQLite supports high read concurrency but has to queue concurrent writers. If your writes are small and concurrency low, you may be able to get away with it but ymmv.
Yay!
> Fix an incorrect result from a query that uses a view that contains a compound SELECT in which only one arm contains a RIGHT JOIN and where the view is not the first FROM clause term of the query that contains the view