Geodatabase-Transaktionsmanagement

Transaktionen sind Pakete mit Arbeitsschritten, mit denen Änderungen an Datenbanken vorgenommen werden. GIS-Datenbanken (Geographisches Informationssystem) müssen, wie andere Datenbankanwendungen auch, Update-Transaktionen unterstützen, mit denen die Datenintegrität und das Anwendungsverhalten erzwungen werden. In vielen Fällen können Benutzer die Funktionen in der DBMS-Transaktionsumgebung zur Verwaltung von Änderungen und Aktualisierungen in Geodatabases nutzen.

GIS-Benutzer haben im Allgemeinen jedoch auch einige spezielle Anforderungen an Transaktionen. Beispiele:

Benutzer müssen darüber hinaus die Möglichkeit haben, Änderungen rückgängig zu machen und zu wiederholen. Editiersitzungen können mehrere Stunden und manchmal sogar Tage dauern. Oft werden die Änderungen in Systemen ausgeführt, die nicht mit der zentralen Datenbank verbunden sind.

Da GIS-Workflows Tage oder Monate dauern können, muss die GIS-Datenbank für tägliche Abläufe ununterbrochen verfügbar sein, wobei die einzelnen Benutzer möglicherweise mit verschiedenen Sichten und State-Versionen der gemeinsam verwendeten GIS-Datenbank arbeiten. In Mehrbenutzer-Datenbanken müssen die GIS-Transaktionen in der DBMS-Transaktionsumgebung für kurze Transaktionen abgewickelt werden. Die ArcSDE-Technologie ermöglicht die Verwaltung der komplexen GIS-Transaktionen in der einfachen DBMS-Transaktionsumgebung und spielt somit eine wichtige Rolle bei diesen Abläufen.

Lange Transaktions-Workflows sind für GIS-Benutzer in vielen Fällen wichtig. Meist werden diese durch die Verwendung eines Mehrbenutzer-DBMS und ArcSDE zur Verwaltung von Aktualisierungen der zentralen GIS-Datenbank mithilfe von Versionierung ermöglicht. Weitere Informationen dazu finden Sie weiter unten.

Im Folgenden sind Beispiele für GIS-Datenkompilierungsabläufe aufgelistet, die ein versionsbasiertes Transaktionsmodell erforderlich machen:

Das Geodatabase-Transaktionsmodell: Versionierung

Um diese und viele andere GIS-Workflows effizient zu verwalten, werden in der Geodatabase mehrere States aufrechterhalten, und gleichzeitig wird die Integrität der geographischen Informationen, Regeln und Verhalten sichergestellt. Das Verwalten, Bearbeiten und Anzeigen mehrerer States basiert auf der Versionierung. Bei der Versionierung werden verschiedene Versionen einzelner Features und Objekte aufgezeichnet, wenn diese geändert, hinzugefügt oder entfernt werden. Die einzelnen States eines Features oder Objekts werden zusammen mit wichtigen Transaktionsinformationen als Versionen in jeweils einer Tabellenzeile gespeichert. Beliebig viele Benutzer können gleichzeitig eine beliebige Anzahl von Versionen bearbeiten und verwalten.

Durch die Versionierung können alle Transaktionen als Reihe von Änderungen über die Zeit in der Datenbank aufgezeichnet werden. So können mehrere Benutzer verschiedene Sichten oder States der Geodatabase bearbeiten. Das Ziel ist offener Mehrbenutzerzugriff bei hoher Leistung. Die Verarbeitungsgeschwindigkeit muss hoch sein, und das System muss die gleichzeitige Verwendung von Datasets mit Hunderten Millionen von Datensätzen durch Tausende Benutzer unterstützen.

Das auf der Versionierung basierende Geodatabase-Transaktionsmodell ist relativ einfach strukturiert. Die Aktualisierungen werden in Änderungstabellen protokolliert.

Die Objekt-States einer Geodatabase werden in zwei Delta-Tabellen erfasst:

Um einen gewünschten State der Geodatabase anzuzeigen und damit zu arbeiten, werden einfache Abfragen verwendet, z. B. um den Datenbank-State zu einem bestimmten Zeitpunkt oder die aktuelle Version eines bestimmten Benutzers mit den von dieser Person vorgenommenen Änderungen anzuzeigen.

ArcSDE spielt eine wichtige Rolle im Zusammenhang mit versionierten Geodatabase-Anwendungen und wird zur Verwaltung von langen Transaktionen, wobei die DBMS-Transaktionsumgebung für kurze Transaktionen genutzt wird, und für die DBMS-übergreifende Arbeit verwendet.

Versionstabellen in der Geodatabase

Im Versionstabellenbeispiel wird dem Flurstück Nummer 45 die Nummer 47 zugewiesen. Mit der Versionierung wird das ursprüngliche Flurstück in der Tabelle "Deletes" und das neue Flurstück in der Tabelle "Adds" gespeichert. In anderen Metatabellen werden die Versionsinformationen zur Transaktion erfasst, wie Zeit und Abfolge der einzelnen Aktualisierungen, Versionsname und State-ID der einzelnen Aktualisierungen. Jede Version weist außerdem eigene Sicherheits- und Zugriffsrechte auf.

So kann festgelegt werden, dass die meisten Benutzer mit der Version "Default" arbeiten und einige Bearbeiter gleichzeitig Aktualisierungen der eigenen Datenbankversionen vornehmen.

Für jede Version können zahlreiche Aktualisierungen vorgenommen werden, und zusätzliche Änderungen werden an der jeweiligen aktualisierten Version vorgenommen. Wenn die Aktualisierungen veröffentlicht werden können, wird ein Abgleichvorgang ausgeführt, und die Änderungen in der aktualisierten Version werden in die Hauptversion (Default) importiert. Zur Ermittlung und Lösung eventueller Konflikte wird ein Konfliktlösungsprozess verwendet.

Weitere Informationen zur Versionierung finden Sie unter Versionierung.


3/6/2012