webForumDet fria alternativet

Synka databaser -komplext?

3 svar · 223 visningar · startad av clarkbones

clarkbonesMedlem sedan feb. 20013 023 inlägg
#1

Hej! Håller på att pula med två databaser lokalt och en på ett webbhotell. Med jämna mellanrum är det så att jag behöver uppdatera datan på servern med den information från de lokala. Det är två användare med bärbara datorer. På kontoret jobbar de mot servern. Innan de sticker ut på uppdrag bör de ha den färska datan från servern. På sina säljuppdrag lägger de in info i den lokala. När de kommer in på kontoret skall de kunna synka databaserna Är det någon som har en principiell idé om hur man bör göra (detaljerna kan jag nog lura ut).

MattiasWMedlem sedan jan. 2000144 inlägg
#2

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.

clarkbonesMedlem sedan feb. 20013 023 inlägg
#3

Tack för svaret. Har SQl Server inbyggt stöd för synkning?

@ndersMedlem sedan juni 200032 969 inlägg
#4

jajemen! självklart har det det! :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)