Mailinglisten-Archive |
Hallo Marko, >Auf der OnlineSeite kommt es zur Bestellannahme,lokal werden die Artikel gepflegt. >Nun sollen beide Datenbanken synchronisiert werden. >Wie geh ich so etwas an? Am einfachsten hast Du es, wenn Du Konkurrenzsituationen vermeidest. Also: die Artikeldatenbank online spiegelst, und die Auftragsbearbeitung offline. Wenn die Datenbanken nicht so groß sind, kann es durchaus Sinn machen, z.B. zweimal täglich die komplette Datenbank zu spiegeln. Ist das z.B. zu groß, mußt Du in der Tat eine Art Transactiontracking faken, da MySQL meines Wissens nach dazu nicht in der Lage ist. Ich persönlich würde mir den Datenbankwrapper der PHPlib fürs Tracking umschreiben, und dann mit einem einfachen Skript das Mitgeschriebene auf dem jeweils anderen Server ausführen lassen. Das kann aber Probleme geben, wenn z.B. ein Artikel bestellt wird, der in der Offlinedatenbank währenddessen gelöscht wurde. Solche Integritätsverletzungen müßte man dann durch einen einen Extra-Status frei nach der Devise "Datenbank gelockt, jetzt keine Transaktionen" zu bestimmten Zeitpunkten abfangen. Aber das wird dann immmer kompliziert ;-) . Besser ist in der Tat eine einfache Spiegelung + Konsistenzcheck. So, ich hoffe, dass das ein bischen weiterhilft. Bei Fehlern freu' ich mich drauf, was dazuzulernen. Grüße, johann
php::bar PHP Wiki - Listenarchive