phpbar.de logo

Mailinglisten-Archive

[php] Synchronisieren von Datenbanken

[php] Synchronisieren von Datenbanken

Johann-Peter Hartmann Hartmann_(at)_freecharts.de
Sun, 9 Jan 2000 15:33:22 +0100


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