Komplext? Ja det kan det vara.
Beror på hur informationen ser ut. Jobbar man mot samma poster? Har man samma sekvensnummer för primära nycklar? Är det stora datamängder? osv. osv.
Jobbar man mot samma poster:
Risk att man skriver över varandras information.
Har man samma sekvensnummer för primära nycklar:
Lägger man upp nya poster lokalt riskerar dom att krocka med andra nyupplagda poster när dom synkroniseras mot servern.
Är det stora datamängder:
Vid stora datamängder blir man tvungen att klara av att enbart föra över förändringar.
Ingen enkel uppgift med andra ord.
Är det någon som har en principiell idé om hur man bör göra
Har det uppfattningen att vill man få detta att fungera bra måste det byggas med i arkitekturen redan från början.
Alla förändringar i databasen loggas, viktigt att transaktionerna syns i loggen. Installationernas sekvensnummer får inte krocka (gäller för nya poster). Ett sätt kan vara att låta lokala installationerna använder negativa sekvensnummer. När posterna synkroniseras med servern byts det ut mot ”riktiga” nummer. Inte helt lätt men blir bra när det fungerar.
Tyvärr har jag ingen enkel lösning att komma med.
PS. En del databaser har inbyggda stöd för synkronisering.
