Zum Inhalt springen

Synchronisation von 2 mySQL-Datenbanken


TK8782

Empfohlene Beiträge

Hallo,

folgendes Szenario:

1.) CRM Anwendung mit mySQL datenbank in der Firmenzentrale. Daten werden erfasst, geändert, gelöscht etc.

2.) Installation mit Kopie der CRM Anwendung und lokaler mySQL Datenbank auf einem Laptop. Daten sollen erfasst, geändert und gelöscht werden.

Gibt es seitens mySQL eine Lösung, mit der man die beiden Datenbanken so synchronisieren kann, dass ein Hinzufügen/Ändern/Löschen in beiden Datenbanken möglich ist und nach Starten einer Art Abgleich in beiden Datenbanken alle Daten zur Verfügung stehen?

Ich habe mal versucht mich kurz über mySQL replikation zu informieren. Die Master/Slave Replikation hört sich mir aber eher danach an, dass nur in einer Datenbank (Master) Datensätze gelöscht, geändert und erfasst werden können. Gibt es da eventuell noch andere Möglichkeiten?

Danke für jeden Tipp!

Link zu diesem Kommentar
Auf anderen Seiten teilen

So wie ich das sehe willst Du keine Replikation und auch keinen Cluster. Du willst 2 unabhängige Datenbanken die sich gegenseitig synchronisieren und unabhängig agieren können.

Eine Replikation und ein Cluster arbeiten ja on-fly, d.h. eine Änderung der Daten wird an alle anderen Dienste übertragen und dort durchgeführt. Ohne dass Deine Anwendung das kann, sieht es meines Wissens schlecht aus, denn Du müsstest auf beiden unabhängigen Datenbanken ein Art Historie führen und die eben bei bestimmten Aktionen abgleichen.

Rein technisch besteht ja bei neu eingefügten oder geänderten Datensätze weniger Probleme diese abzugleichen. Die Schwierigkeit ist das Löschen, denn wenn in einer Datenbank der Datensatz fehlt, muss man eine Art Referenz behalten, die dann beim nächsten Abgleich in der anderen Datenbank durchgeführt wird. Zusätzlich muss man darauf achten, dass der Datenstand strukturell konsistent ist, sowohl technisch (Schlüssel), wie auch semantisch (logische Zusammenhänge der Daten).

Weiterhin können bei der Synchronisation Probleme auftreten, wenn in der einen Datenbank der Datensatz geändert wurde und in der anderen gelöscht und das ganze zur gleichen Zeit (wobei dann wieder die Frage der Zeitsynchronisation wäre). Aber wie würde dann der nachfolgende Stand der Datenbank aussehen? Ein Update geht nicht, der Datensatz existiert nicht mehr, ein Löschen ist evtl nicht sinnvoll, da der Datensatz nun neue Informationen enthält und wichtig sein könnte.

Ich würde hier die Konfiguration so anpassen, dass nur eine Datenbank existiert, diese ggf entsprechend ausbauen und von den externen Geräten über einen VPN Tunnel die Verbindung zur Datenbank aufbauen. Ein Datenabgleich, wie Du ihn vorhast, sollte nur durch die Anwendung bereitgestellt werden, um die Konsistenz zu sichern

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie wäre es mit einer MySQL Multi Master Replication, bzw. circular replication?

Dazu werden mindestens 3 Datenbanken benötigt. Jede ist sowohl Master als auch slave.

Beispiel DB A,B,C

A ist Master, B ist slave von A

B ist Master, C ist slave von B

C ist Master, A ist slave von C

So sind alle 3 Datenbanken immer auf dem selben Stand, egal auf welcher man etwas ändert.

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie wäre es mit einer MySQL Multi Master Replication, bzw. circular replication?

@schepp: Ich denke wir gehen hier gedanklich immer davon aus, dass die Datenbank zeitgleich arbeiten und eben direkt miteinander kommunizieren können. So wie ich den OP verstehe, soll der Laptop auf eine lokale Kopie zurückgreifen und auch ohne Netzwerkverbindung arbeiten können. Man gleicht dann bei Bedarf die Datenbankstände ab

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...