We are develping an application using PHP and Symfony framework. Ideally the system would run on a remote server, so that it can be available online anywhere. However, there has to be offline availability too.
For this, the system will be running both on a remote server and a local server. By default clients would access the local server, and only working online when outside of the facility.
So we need to implement database synchronization for changes made both on the local and remote database without any kind of client interaction. If possible, it should be a daemon running in the background, synchronizing databases. The master database would be the local one, so it will take priority upon any conflict.
We haven't decide on the DB system to use (we are using Doctrine so any supported DB will do), so we are really looking at the one with the most ready or available solution for our scenario.
The solution can be a dedicated application, commercial or not, as long as it requires no client interaction.
I use MySQL's synchronization, it was a snap to set up and has performed flawlessly. In conjunction with phpMyAdmin, which gives you a UI to use, you can literally set this up out-of-the-box in about 6 clicks of the mouse.