On 2015/11/13 10:52 PM, A. Mannini wrote: >> Basically the decision is easy - If you require either of: >> - Network data >> - User control >> >> Then you should use a suited Network DB and not a file-based DB. Best >> free (without limitations) choices are (In no particular order): >> - PostGres | http://www.postgresql.org/ >> - MariaDB / MySQL | https://www.mysql.com/ >> >> ... in fact, let me simply link you to a site with a listing already: >> http://tech.gaeatimes.com/index.php/archive/top-7-free-open-source-database-server/ >> >> >> Personally I just use the two above, MySQL especially for Web things, >> and PG for Networked systems (but that's just my preference, they both >> work either way). I use SQLite to store local data always. I don't >> wish to start a fanboy fight, but my feeling is that: MySQL is easier >> to code the broad-spectrum SQL for... Postgres is more stable, strict >> and secure. (My biased views). >> >> HTH, >> Ryan >> >> > Hi Ryan, > > your suggestions are good choices (that i use in other constests) but i > was oriented to server-less solutions because the application should be > able to work in a peer-to-peer environment without a server. Moreover I > need a solution that doesn't require much skills to setup. I would avoid > MySql/MSSQL/PostGRES/Other server setup, open ports or other possible > problems.
Understandable, but that's a very odd use case, though not the first of its kind. What you need is your own file lock marshaling - perhaps write your own VFS for SQLite that do a bit of checking for file lock truth / exclusivity. The VFS capability is well-documented and many people have implemented it here, so any help you need should be easily had - but it will be quite a bit of work, and whatever method you use to ascertain file statuses over a network will be slower than not doing it. It might be worth it for your use-case. Someone might even have done it already and be willing to share the code. Ask here (in a different thread perhaps) and check google / github etc. Best of luck! Ryan