TK8782 Geschrieben 23. August 2010 Teilen Geschrieben 23. August 2010 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. August 2010 Teilen Geschrieben 23. August 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schepp Geschrieben 24. August 2010 Teilen Geschrieben 24. August 2010 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ß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 24. August 2010 Teilen Geschrieben 24. August 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schepp Geschrieben 24. August 2010 Teilen Geschrieben 24. August 2010 Ok, offline gehts natürlich nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.