I have a Point Of Sale commercial product that is written in Adobe AIR and works in about 100 outlets right now. Most of my customers have about 5 computers in the store. Some of my larger clients have 10-20 computers.
Currently, the application uses the built-in SQLite database to save data. At an early stage, I made a huge technical mistake, and some of my larger clients ran into problems. I am wondering if anyone can give some ideas on how to get around this problem. Here it is...
The application works in Master and Workstation modes. In Master mode, the database is on a physical machine. In workstation mode, the application accesses the database over the network. SQLite is not intended to be used this way and causes all kinds of problems (file locking, data loss, file corruption, etc.).
I am trying to solve this problem without completely rewriting the application. I have a good separation of problems in the application, so I have the opportunity to overwrite the data layer.
Here are some of the requirements: 1) The application must work autonomously 2) The solution must be able to process transactions 3) The solution must support synchronous connections
Some of my ideas are:
1) Write "database server", which is located in front of the database and allows you to run only one statement at a time. 2) Change the database to MySQL and use the assql library. I do not believe this supports synchronous statements.
What ideas do you have?
Thanks!
source share