Master/Master Master/Slave Ok So here is the scenario.

Web based application running on mysql database A.  All users able to add/edit/delete.

The aspplication runs well.  But now the Company face a new problem which is accessing the web app where no internet is readily available.

As a result they need an offline version which runs on their tablet.

Im thinking that I could simply set up WAMP on their tablet and have the app run there, however clearly I have to sycronise the data at some point.  

So my questions are this.

Is this a master/master scenario?

Can someone explain some of the major pitfalls/uplifts I may get from doing this?

Is there a more practical approach that Im missing?

Many Thanks in advance
Here is my recommended approach:


On the tablet, split into two databases. One is the master copy, the other is the local changes.
The tablet considers the master copy to be read-only
At sync time, e.g. when the network is available, you simply ditch the master and reload it from the "real" master that is running on your website
But before doing this, you load all the rows from the local changes, into your real master. After you have done this, you delete all the local changes from the tablet.
You will need to ensure no clashes of primary keys for new data, and you will need to build an app so that users can reconcile conflicting changes to existing data
If you consider this a master-master or master-slave situation and try to make it work with the traditional MySQL replication tools, you are opening the door to a world of pain
However if you are feeling ambitious enough to re-architect everything, you could so something very elegant with messaging/queuing middleware - this is probably how you would have done it if you are starting from scratch, my suggestions are around retro-fitting this onto what you already have.