Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#18

AW: Konzeptionelle Frage - Datenabgleich

  Alt 6. Jun 2018, 13:54
In einer kleineren Testumgebung habe ich das vor relativ langer Zeit mal so gelöst:

Keine Replication auf DB-Ebene. Je eine DB an jedem Standort, und diese einmal vollständig übertragen.
Jede Tabelle hat ein Lock-Feld.

Wird nun ein Datensatz an Standort A zum Bearbeiten geöffnet, so wird sowohl der Datensatz sowohl in DB A als auch in DB B mittels dem Lock-Feld gesperrt. Heißt er kann nur noch zum Lesen geöffnet werden. Wird er nun in DB A gespeichert, dann wird dort das Lock direkt aufgehoben. Anschließen wird er dann in DB B gespeichert und erst danach das Lock auch dort aufgehoben.
Das ganze muss natürlich im Client passieren, oder man muss den DB-Zugriff über eine Server-Application regeln, die dann das Sperren und Entsperren passig übernimmt.
In die andere Richtung würde das genauso funktionieren. Und auch mit mehr als 2 Standorten.

Hat, wenn ich mich recht erinnere damals ohne Probleme funktioniert. War aber nur ein Test. Wir haben damals zwar einige an Traffic simuliert, aber ob es einem Echt-Betrieb standgehalten hätte kann ich nicht mit Sicherheit sagen. Sollte aber.

Das natürlich 2 User auf beiden Seiten zeitgleich den gleichen Kunden anlegen kann dieses Verfahren natürlich nicht verhindern. Und das Handling ist natürlich auch von der zur Verfügung stehenden Bandbreite abhängig.

Ob sich sowas auch auf DB-Ebene realisieren ließe, kann ich nicht sagen. Dazu fehlt mir das Wissen.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat