phpbar.de logo

Mailinglisten-Archive

[php] Zwei MySQL-Tabellen spiegeln/abgleichen

[php] Zwei MySQL-Tabellen spiegeln/abgleichen

Enrico Weigelt php_(at)_phpcenter.de
Fri, 5 Apr 2002 20:02:25 +0200


On Thu, Apr 04, 2002 at 10:42:52PM +0200, Marc Ende wrote:

<snip>
> Das kann aber relativ hakelig werden bei komplexeren Aktionen, mal abgesehen
> von der unnötigen Last, die man bei derartigen Queries erzeugt.
eh ? bitte mal genauer erklaeren ...

> Was würdest du beim Delete machen? Da gibts dann ja kein Timestamp mehr.
dafuer gibts ne tabelle mit den OIDs + relnames der geloeschten 
records (incl. dtime). wird mittels rules gefuellt.
man koennte auch einfach ein deleted-flag setzen, aber dann wirds schnell
haarig wenn nen unique index auf ner relation draufliegen hast ...

> Ich denke er will die sachen einfach nur replizieren, ob das bei jeder
> Aktion auf der Datenbank sinnig ist, ist die Frage (aber eine die von
> der Applikation abhängt). 
> Mysql verwendet diesbezüglich das binarylog
> und holt sich die Änderungen auf den Slave.

die wirkliche herausforderung beim replizieren liegt darin, die DBs zur 
laufzeit zu synchronisieren, ohne immer alles komplett rueberzuschieben.
mit blossem journaling kommt man damit nur soweit, dass man master-slave
architekturen baut, bei denen nur der master schreiben kann
(man kann das vielleicht durch dynamic master cycling etc aufweichen, 
aber ein echtes symetrisches mirroring kriegt man damit nicht richtig
auf die beine ...)

ich hab das problem bei mir so geloest, dass wirklich alle records
eine timestamp drinhaben, die dann auch bei jedem update aktualisiert
wird und anhand der die zu den anderen nodes rauszupostenden 
records rausgefischt werden. (die mtime kann man da aber nicht so
einfach per rule auf now setzen, weil sonst loops enstehen ...)

wenn sich hier noch ein paar mehr leute finden, die interesse an
der geschichte haben, koennen wir auch mal nen artikel dazu schreiben,
aber allein hab ich dazu weder lust noch zeit ...

~-n
--
 Enrico Weigelt    ==   meTUX IT services 
 software development, IT service, internet security solutions
 www:     http://www.metux.de/        phone:     +49 36207 519931
 email:   contact_(at)_metux.de            cellphone: +49 174 7066481


php::bar PHP Wiki   -   Listenarchive