Come gestite la sincronizzazione bidirezionale tra un server di database "principale" e molti server "secondari", in particolare la risoluzione dei conflitti, supponendo che una connessione non sia sempre disponibile (sincronizzazione offline)?
Ad esempio, ho un'applicazione Android che utilizza i dati dal database locale (sqlite). E l'utente può gestire i dati anche se è online o offline. Nel frattempo, se è online, il database locale (sqlite) dovrebbe sincronizzarsi con il database reale (mysql) nel server e risolvere i conflitti come un servizio in background.
Esiste già una soluzione già implementata per questo tipo di scenario?
Ho sentito parlare di Couchdb che è una soluzione NoSQL che può essere una soluzione per questo. Se è così posso usarlo con SQL?