Is there any technique or tool to use SQLite using a Client-Server architecture instead of local access?
Of course you would need a client library to communicate with the server. And a server application to handle these connections and access SQLite.
The question is whether there is something ready, reliable to use, or if there is any way to do that.
A little background
Some applications will run in light environments with little competition and a relatively low-access, essentially read-only profile. SQLite is more than enough to meet this demand.
The only disadvantage is that SQLite is not good for receiving competing remote access. It even works but it can present problems. I know is officially recommended not to use for this scenario. But this recommendation is for sharing a file on a server for direct access from multiple remote instances.
But we can have a server that handles connections and accesses the SQLite file locally. There is no difference for use on websites where Apache, IIS, etc. function as the server, even if indirectly. Of course, you should have an application that receives requests from other remote applications (in the browser ), manipulates them, and sends them to SQLite embedded in this application on the server.
SQlite has the benefit of zero maintenance. In these low volume cases where end users may be away for maintenance and do not have the resources to maintain a technician to manage the DB, this is invaluable.
If someone thinks it is not a good solution, think again.
In Brazil and in several countries we still have an immeasurable number of systems developed at Clipper or Harbor that use simple files in the format dbf
and work at low volumes beautifully. I've actually seen access to hundreds of endpoints working without major issues (when the system was well done).
Note that access to dbf
is similar to SQLite. Each remote application directly accesses the files shared by the network. And the dbf
system does not even have the features that SQLite has for reliability. And I'm not even talking about using technologies such as LetoDB that allows access to dbf
as a client-server.
Often people overestimate the need for competition and underestimate simple technologies. SQlite is a huge development compared to dbf
(even in Harbor, some programmers often use relational DBs instead of dbf
for new applications).
The client-server architecture is still missing for SQLite to be perfect for these scenarios.