Weiter Zurück [Inhalt] Online Suche im Handbuch

46.5 Verteilte Datenbanken mit DIAL-ON-DEMAND Leitung

Die Anforderungen bei verteilten Datenbanken mit einer DIAL-ON-DEMAND Leitung sind völlig andere, als bisher beschrieben. Die Synchronisation der Daten muß schnell und zügig geschehen. Hierzu muß man wissen, welche Daten sich geändert haben, also welche Datensätze gelöscht worden sind, welche hinzugekommen sind, welche verändert wurden. Hierzu muß man ein Journal über das Datum und die Uhrzeit sämtlicher Schreib-und Änderungsvorgänge der Datenbank anlegen. MySQL kann dieses Problem aber mit Hilfe eines Workarounds umgehen. Hierzu fügt man eine weitere Tabelle vom Typ TIMESTAMP in die Datenbank ein, die Datum und Uhrzeit jeder Änderung mitführt. Hierzu muß nicht in die Struktur der Statements eingegriffen werden. Sollen nun alle Änderungen an eine Master-Datenbank via Internet oder Direktverbindung übermittelt werden, so muß man mit Hilfe des Batch-Modus folgende Schritte durchführen:

  1. Schreibzugriffe mit Hilfe von GRANT unterbinden
  2. Mit Hilfe eines auf die Datenbankstrukturen angepasstes Batch Scriptes werden alle Datensätze, die sich im FELD mit TIMESTAMP seit dem letzten Abgleich verändert haben, in eine ASCII-Datei im MySQL Verzeichnis exportiert.
  3. Die ASCII-Daten werden Hilfe von z.B. ZIP komprimiert
  4. Danach kann die Übertragung via FTP über das Internet erfolgen.
Soweit zum Client, nun aber zur Master Datenbank:
  1. Auf dem Zielserver wird wiederum ein Batch-Script ausgeführt, welches die ASCII Datein mit den Änderungen dekomprimiert.
  2. Die ASCII-Daten werden wird im Batchmodus in eine zuvor neu angelegte oder geleerte Tabellen in der Master-Datenbank importiert.
  3. Es muß ein Abgleich zwischen den Daten in der Master-Datenbank und den Importierten Änderungen der Client-Datenbank erfolgen. Wenn die Client Datenbank Einträge besitzt, die in der Master-Datenbank bereits nicht mehr vorhanden sind, dann müssen diese Daten aus der Client-Datenbank gelöscht werden. Dies geschieht mittels eines SQL-Statements.
  4. Alle zulässigen Einträge können dann in die Master-Datenbank übertragen werden.
Wer vielleicht den Eindruck hat, daß Datenbank-Synchronisation mit ausgewachsenen Datenbanken einfacher sei, der irrt gewaltig. Alle die hier getätigten Überlegungen müssen auch bei teuren, kommerziellen Datenbanken angestellt werden.
Weiter Zurück [Inhalt] Online Suche im Handbuch