It's actually not that hard to get right. You can put a simple lock statement around a SQLiteConnection instance to achieve the same effect with 100% reliability, but with dramatically lower latency than what hosted SQL offerings can provide.
Also, the only reason we ever want to lock a SQLiteConnection is to obtain a consistent LastInsertRowId. With the latest changes to SQLite, we don't even have to do this anymore as we can return the value as part of a single invocation.
Re:SQLite is not a toy database
by warmwaffles on Thursday March 25, 2021 @11:59PM
(#26588612)
You won't have to worry about the last insert row id anymore. `RETURNING` was added recently. Enjoy the speeeed.
Yes, this is exactly how mORMot (https://github.com/synopse/mORMot) implements the DB server with SQLite.
It's not the right approach because it's hard to get right, you want to offload that to the DB.