Thus far I have found two trigger driven MariaDB synchronization utilities - SymmetricDS and PervaSync. Quite apart from the fact that they are rather pricey (which may be ok) what I do not like is that they both require a Java capable server (Tomcat) to be installed. I run Nginx and have no real desire to have anything else there. Are there any equivalents that are written in PHP? Or perhaps an open source/MIT licensed option. My searches thus far have not revealed any alternatives. I'd be most grateful for any suggestions
What I would expect from the synchronization tool is listed below
- Is able to periodically (say every 5-10 minutes) synchronize a set of N MariaDB databases (4 for starters but more in due course) that are located in different geographic reigons
- The various DBs are subject to alterations (INSERTS, DELETES, UPDATES) as a result of user activity in their respective regions. However, there is a cast iron guarantee that operations in one region will never cause conflicts with those performed in any other region
- The entire purpose behind the synchronization is to allow users to seamlessly access their data from another region if and when required
- Speed is not an issue - updates at a rate of once every few minutes will do nicely
- We run PHP on Nginx. Running a secondary server is not an option - and certainly not Tomcat et al.
- The ideal solution would be one that runs as a native appliction (I am thinking a compiled package running on Ubuntu) or as a PHP script.
- At the moment we are operating with an in-house synchronization solution that squirrels away changes before they are committed to the database. Those changes are periodically lifted by a "synchronizing server" which then handles with the task of getting all the other sibling servers into line. This is working. Nevertheless it is a home grown solution and outwith our area of expertise. That is why I am looking around for possible options.