19
There is any technique or tool to use Sqlite using an architecture Client-Server 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 whether there is any way to do it.
A little bit of background
Some applications will run in light environments, with little competition and a profile of relatively low access, and essentially reading. The Sqlite is more than enough to meet this demand.
The only drawback is that Sqlite is not good for receiving competing remote accesses. It even works but can present problems. I know that officially recommended not to use for this scenario. But this recommendation is for the case of sharing a file on a server for direct access from multiple remote instances.
But we can have a server that handles the connections and makes access to the Sqlite file locally. There is no difference to the 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 (on browser), manipulate them and send to Sqlite embedded in this application on the server.
Sqlite has the advantage of zero maintenance. In these low-volume cases where end-users may be distant from receiving maintenance and lack the resources to maintain a technician to manage DB, this is invaluable.
If someone thinks it’s not a good solution, think again.
In Brazil and in several countries we still have an immeasurable amount of systems developed in Clipper or Harbour using simple files in format dbf
And they work at low volumes wonderfully well. I’ve actually seen access to hundreds of terminals working without major problems (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 system dbf
has nowhere near the features that Sqlite has to give reliability. Nor am I talking about the use of technologies like the Letodb which allows access to dbf
as client-server.
People often overestimate the need for competition and underestimate simple technologies. Sqlite is a huge evolution compared to dbf
(even in Harbour, some programmers often use relational Dbs instead of dbf
for new applications).
Just missing the client-server architecture for Sqlite to be perfect for these scenarios.