Use pool of connections instead of sharing a single one for database connections
We can have a pool of read only connections in the diverse sqlite databases we use, instead of having a single connection shared among many threads.
It turns out SQLIte serializes every calls through a single shared connection, and using a pool will improve the performance of such queries.
For read-write connections there should be no pool, as only a single connection should own the right to write to a file.