Zum Inhalt springen

Snapshot Isolation (MVCC)

Befinden Sie sich in einer Situation, in der Sie mehrere Leseanforderungen haben müssen, während die Aktualisierungen fortgesetzt werden müssen? Möchten Sie ohne Unterbrechungen weiter schreiben können? RDM bietet eine Lösung für die oben genannten Probleme durch die Verwendung von MVCC (Multiversion Concurrency Control) durch Verwendung der Snapshot-Isolation.

Snapshot Isolation Multi-Version-Concurreny-Steuerung

Was ist Snapshot Isolation und wie funktioniert es in RDM? 

Die Snapshot-Isolation ermöglicht gleichzeitiges Lesen aus der Datenbank, wenn Aktualisierungstransaktionen stattfinden. Im Allgemeinen führt RDM Aktualisierungen durchKopie beim Schreiben”Und eine Momentaufnahme der Daten kann daher verarbeitet werden, indem Zugriff auf die alten unveränderten Daten gewährt wird. Die unveränderten Daten können dann gelesen werden, ohne die Schreibvorgänge zu stoppen. Der Benutzer kann jederzeit einen Snapshot bestimmter Tabellen erstellen, indem er unsere aufruft rdm_dbStartSnapshot () API. Sobald dies erledigt ist, wird die RDM Das System verwendet die alte Ansicht der angegebenen Tabellen, wobei Änderungen an diesen Tabellen nicht im Snapshot berücksichtigt werden. Dem Benutzer steht es dann frei, Schreibvorgänge in diese Tabelle außerhalb des Snapshots auszugeben, und Lesevorgänge in der Snapshot-Ansicht warten nicht darauf, dass diese Schreibvorgänge abgeschlossen werden, oder verhindern, dass diese Schreibvorgänge abgeschlossen werden. Sobald der Schnappschuss nicht mehr benötigt wird, rdm_dbEnd () ¹ kann aufgerufen werden, um den Zugriff auf die alten unveränderten Daten freizugeben. Diese Funktion bietet dem Endbenutzer die größtmögliche Anzahl von Schreib- und Lesevorgängen gleichzeitig.

 

¹ rdm_transEnd () kann auch verwendet werden, wenn ein Handle aus rdm_dbStartSnapshoot () abgerufen wurde.

 

von Sverre Hvammen Johansen und Daigoro Toyama