Avatar billede d3c Nybegynder
05. september 2007 - 17:51 Der er 11 kommentarer og
1 løsning

Synkronisering af databaser

Hej eksperter,

Hvad er den nemmeste tilgang til at synkronisere to databaser, som er 100% ens (den ene er backup)? Umiddelbart mener jeg jo, at man bør have en "last modified" værdi på hver række, og så synkronisere de rækker, som er nyere end "last updated".

Hvad mener I?
Avatar billede pycoz Nybegynder
05. september 2007 - 18:16 #1
Snakker vi Access database, MSSQL, MySQL, Oracle eller hvad...
Avatar billede d3c Nybegynder
05. september 2007 - 18:31 #2
SQL. Nærmere præcis sync mellem en sqlite og mysql.
Avatar billede d3c Nybegynder
05. september 2007 - 20:03 #4
Det er mellem Google Gears' database (sqlite) og mysql, så jeg kan ikke bruge nogle fancy programmer - det skal være raw SQL og derefter håndtering af dataene.

Jeg spørger derfor hvordan man teoretisk set kan gøre det, nemmest (har min egen idé som nævnt i spørgmålet, men inputs ville være dejligt). Kodningen skal jeg nok selv klare... :)
Avatar billede arne_v Ekspert
09. september 2007 - 23:02 #5
Din lastmodified felt er udmærket.

Du skal dog huske aldrig at slette en række fra tabellen men kun:

UPDATE t SET slettet=TRUE,lastmodified=NOW()
Avatar billede d3c Nybegynder
10. september 2007 - 08:06 #6
arne, scriptet henter data begge veje. Hvis den normale database ingen data har, så henter den de eventuelle data fra backuppen. Omvendt synkroniseres der også løbende til backuppen.

Hvorfor bør jeg ikke slette en række? Vil jeg gerne have uddybet.
Avatar billede arne_v Ekspert
10. september 2007 - 15:19 #7
Hvis du kun tester paa lastmodified, saa fanger du ikke de slettede raekker.
Avatar billede arne_v Ekspert
11. september 2007 - 02:29 #8
Hvis du synkronseiserer begge veje, hvad gør du så hvis de begge har opdateret
samme række ?
Avatar billede d3c Nybegynder
11. september 2007 - 08:05 #9
Så er det nyeste række (nyeste lastmodified) der gælder. Tror du ikke det er en fin tilgang?
Avatar billede arne_v Ekspert
12. september 2007 - 01:22 #10
Jeg tror at ham der har lavet den ældste rettelse bliver ked af det.
Avatar billede d3c Nybegynder
13. september 2007 - 20:57 #11
Det er ikke så relevant. Det er, i mit script, væsentligt at nyeste rettelse gælder. I øvrigt fungerer "slettet=true" rigtigt godt. Jeg siger mange tak. Smider du et svar, arne?
Avatar billede arne_v Ekspert
14. september 2007 - 01:20 #12
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester