phpbar.de logo

Mailinglisten-Archive

eineäußerstknifflige replikation

eineäußerstknifflige replikation

Wolfgang Hauck wbh at euta.net
Fre Apr 11 12:17:22 CEST 2003


Hi Ulli,

>Ich habe einen Mysql-Server der im Netz mit einer statischen 
IpAdresse den
>ganzen
>Tag online ist. Darauf gibts ein CMS wo User ihre Daten übers Web 
verändern
>können.

Schön... ;-)

>Es gibt nun einen User der ausser dem OnlineZugang auch dringend 
auch einen
>Offlinezugang zum CMS haben muss da er seine Daten auch offline 
verwalten
>will.
>D.h. ich bräuchte eine Kopie der Stammdaten auf einen Offlinerechner 
wo der
>User
>seine Daten verändern kann. Verbindet sich der User dann mit dem 
Netz dann
>soll der
>Hauptrechner und der "private" Rechner ihre Daten abgleichen.
>Problem ist das beim Abgleich eine zweiwegreplikation
>gemacht werden muss da auf beiden Rechnern die Daten
>des Users verändert sein können.

Und genau hier liegt dein Problem! Wenn in beiden Datenbanken etwas 
verändert worden ist weiss ja niemand mehr (weder Computer noch 
Mensch) was jetzt wirklich aktuell ist...
Ein Beispiel:
Du hast nen Kunden Namens Meier falsch geschrieben und änderst diesen 
offline in Maier. Ein Kollege merkt des auch und ändert online den 
Namen in Mayr. Auf Hain Blöd sogar noch zur gleichen Zeit. Was ist 
jetzt richtig Maier oder Mayr?
Noch schlimmer wirds da bei Referenzen und Autoincrement-Felder...
Und da kommt ja auch noch die Zeitsyncronisation mit dazu (die wirken 
sich nämlich auf die Timestamps aus).

>Ein weiteres Problem ist das der Offlinerechner sich
>wahrscheinlich nur über eine analoge Verbindung ins Netz einwählen 
wird und
>somit
>keine großen Datenmengen übertragen werden dürfen. (zur information: 
ein
>Dump des gesamten
>CMS wird sicher 15-20 MB groß sein->also für eine analoge linie zu 
viel!)
>Hat jemand eine Idee wie ich sowas ohne großen Aufwand realisieren 
könnte?
>Kann mir
>da die in Mysql integrierte Replikation überhaupt was helfen?

Die integrierte Replikation setzt zwingend eine MASTER -> SLAVE 
Architektur voraus und das aus gutem Grund (siehe oben). Ohne 
grösseren Programmieraufwand dürfte das nicht zu machen sein. Und 
dass jeder überall (in beiden DB's) was einfügen, änderen und löschen 
kann führt zwangsläufig ins Chaos...
Da braucht's a LOGIK...
Da solls sogar Leute geben die dir für Geld ein Pflichtenheft und ein 
Struktogramm für dein Projekt erstellen...

MfG Wolfgang


-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive