Mit der Standard- oder Advanced-Lizenz verfügbar.
Herkömmliche Versionierung ermöglicht es mehreren Benutzern, dieselben Daten in einer Enterprise- oder Workgroup-Geodatabase zu ändern, ohne Sperren anwenden oder Daten duplizieren zu müssen. Hierzu werden bei der herkömmlichen Versionierung Änderungen in Nebentabellen gespeichert, die als Delta-Tabellen bezeichnet werden.
Zum Bearbeiten von Feature-Classes in einer Topologie, in einem Netzwerk-Dataset oder in einem geometrischen Netzwerk oder zum Bearbeiten eines Parcel-Fabric müssen Sie die Daten als versioniert registrieren. Wenn Sie ein Feature in einem Netzwerk, in einer Topologie oder in einer Parcel-Fabric bearbeiten, werden nicht alle Features gesperrt. Das bedeutet, dass andere Benutzer einen anderen Teil des Netzwerks, der Topologie oder der Parcel-Fabric bearbeiten können und diese Änderungen eventuell mit Ihren Änderungen in Konflikt stehen.
Der Zugriff auf eine Enterprise- oder Workgroup-Geodatabase erfolgt immer über eine Version. Wenn Sie zum ersten Mal eine Verbindung mit einer Geodatabase in ArcGIS herstellen, stellen Sie eine Verbindung mit der Default-Version her. Um eine Verbindung mit einer anderen Version herzustellen und diese Informationen mit der Datenbankverbindungsdatei (.sde) zu speichern, müssen Sie die Version in den Geodatabase-Eigenschaften angeben.
Was ist eine Version?
Eine Version ist eine Art Ansicht der Geodatabase, die Änderungen unterteilt. Wenn unterschiedliche Benutzer eine Verbindung zur gleichen Version herstellen, werden ihnen die Bearbeitungen in der Version angezeigt. Clients, die mit anderen Versionen verbunden sind, werden Ihre Änderungen erst angezeigt, nachdem Sie sie abgeglichen und in eine gemeinsame Vorgängerversion zurückgeschrieben haben.
Default-Version
Die Default-Version ist die Stammversion und daher der Vorgänger aller anderen Versionen.
Im Gegensatz zu anderen Versionen ist die Default-Version immer vorhanden und kann nicht gelöscht werden. In den meisten Workflow-Strategien ist die Default-Version die Version, die Sie veröffentlichen oder als maßgebliches System of Record verwenden, da sie den aktuellen Status des modellierten Systems darstellt. Sie verwalten und aktualisieren die Default-Version laufend, indem Sie die Änderungen aus anderen Versionen in diese zurückschreiben. Sie können die Default-Version wie jede andere Version auch direkt bearbeiten.
Erstellen anderer Geodatabase-Versionen
Sie erstellen eine herkömmliche Version in einer Geodatabase, indem Sie Child-Versionen bzw. Verzweigungen einer vorhandenen herkömmlichen Version erstellen. Die erste Version, die Sie erstellen, ist eine Child-Version der Default-Version. Wenn diese Child-Version erstellt wurde, ist sie mit der Default-Version identisch. Im Laufe der Zeit weichen die Versionen immer mehr voneinander ab, wenn an der Default-Version und auch an der Child-Version Änderungen vorgenommen werden.
Eine Geodatabase kann zahlreiche herkömmliche Versionen aufweisen. Der folgende Screenshot zeigt das Dialogfeld Versions-Manager in ArcMap. In diesem Beispiel wird die Strukturansicht des Dialogfeldes veranschaulicht: Die Default-Version sowie vier andere Versionen und die Beziehung der Versionen untereinander werden dargestellt. Die Versionen "Cases" und "Base" sind Child-Versionen der Default-Version. Die Versionen "Case1" und "Case2" sind Child-Versionen der Cases-Version.
Beim Erstellen einer Version gewinnen Sie möglicherweise den Eindruck, dass auf diese Weise eine Kopie der gesamten Geodatabase erstellt wird. Dies ist jedoch nicht zutreffend. Unabhängig von der Anzahl der herkömmlichen Versionen wird jede Tabelle und Feature-Class nur einmal in der Datenbank gespeichert. ArcGIS belässt jede Feature-Class und Tabelle im ursprünglichen Zustand, erfasst aber alle Änderungen in so genannten Delta-Tabellen.
Versionen können von mehreren Benutzern gleichzeitig bearbeitet werden.
Funktionsweise von herkömmlichen Versionen und versionierten Bearbeitungen
Die versionierte Bearbeitung von Daten in einer beliebigen herkömmlichen Version ist erst möglich, nachdem die Datasets für die herkömmliche Versionierung registriert wurden.
Beim Registrieren eines Datasets (einer Feature-Class, eines Feature-Datasets oder einer Tabelle) für herkömmliche Versionierungs-Workflows werden zwei Delta-Tabellen erstellt, die A-Tabelle zum Erfassen von Einfügungen und Aktualisierungen (Adds-Tabelle) und die D-Tabelle zum Speichern von Löschungen (Deletes-Tabelle). Jedes Mal, wenn ein Datensatz im Dataset aktualisiert oder gelöscht wird, werden einer oder beiden Tabellen Zeilen hinzugefügt. Ein für die herkömmliche Versionierung registriertes Dataset besteht daher aus der Originaltabelle (als Basis- oder Business-Tabelle bezeichnet) sowie sämtlichen Änderungen in den Delta-Tabellen. In der Geodatabase wird protokolliert, mit welcher Geodatabase-Version Sie eine Verbindung hergestellt hatten, als Sie die Bearbeitungen vornahmen, mit denen die Delta-Tabellen gefüllt wurden. Wenn Sie ein Dataset in einer Geodatabase-Version abfragen oder anzeigen, fasst ArcGIS die relevanten Zeilen aus der Originaltabelle und den Delta-Tabellen zusammen, um eine nahtlose Darstellung der Daten für die jeweilige Version zu erzielen.
Alle Änderungen an eine bestimmten Feature-Class oder Tabelle werden unabhängig von der Version, in der die Änderungen vorgenommen wurden, in den gleichen Delta-Tabellen erfasst. Dies bedeutet, dass jede beliebige Version nur auf eine Teilmenge der Zeilen in den drei Tabellen verweist. Wie verfolgt ArcGIS jedoch, welche Zeilen in den Delta-Tabellen zu welcher Version gehören?
Jede Zeile in den A- und D-Tabellen ist mit einer ganzzahligen Kennung, der State-ID, versehen. Auf diese wird verwiesen, wenn die Zeile der Tabelle hinzugefügt wird. Jedes Mal, wenn Sie eine Version bearbeiten, wird ein neuer State erstellt, und einer oder beiden Delta-Tabellen wird eine Zeile hinzugefügt. States sind wie ein Teil einer Baumstruktur, in der jeder Zweig die Entwicklung einer Version darstellt. Eine Folge von States, die eine Reihe von Änderungen von der Basistabelle bis zum aktuellen State einer Version darstellen, wird als Lineage (Herkunft) bezeichnet. Wenn Sie eine Version anzeigen oder abfragen, fragt ArcGIS die Lineage einer Version ab, um die State-IDs abzurufen, und ruft dann die richtigen Datensätze aus den A- und D-Tabellen ab.
Wenn eine Geodatabase über einen Zeitraum hinweg bearbeitet wird, erhöhen sich die Größe der Delta-Tabellen und die Anzahl der States. Je umfangreicher die Tabellen und je zahlreicher die States, desto mehr Daten müssen von ArcGIS jedes Mal verarbeitet werden, wenn Sie eine Version anzeigen oder abfragen. Um die Datenbank-Performance aufrechtzuerhalten, muss der Geodatabase-Administrator in regelmäßigen Abständen den Befehl Komprimieren ausführen, um nicht verwendete Daten zu entfernen.
Verschieben von Änderungen in die Basistabelle
Wenn Sie beim Registrieren Ihrer Daten für die herkömmliche Versionierung die Option zum Verschieben von Änderungen in Basistabellen festlegen, werden Änderungen in den Delta-Tabellen erfasst. Wenn Sie die Default-Version jedoch bearbeiten und die Änderungen speichern, werden die Änderungen sofort von den Delta-Tabellen in die Basistabelle verschoben. Sie verbleiben nicht in den Delta-Tabellen. Beachten Sie, dass dies nur dann zutrifft, wenn Sie die Default-Version bearbeiten. Änderungen, die an Nachfolgeversionen vorgenommen werden, werden nicht sofort in die Basistabelle verschoben.
Die Option zum Verschieben von Änderungen in Basistabellen ist hilfreich, wenn Folgendes zutrifft:
- Ihre Bearbeitungen nehmen nur wenige Minuten in Anspruch.
- Die Daten sind nicht an einem Netzwerk oder einer Topologie beteiligt.
- Sie verwenden die Verwendung eines Drittanbieters für den Zugriff auf eine Geodatabase, die die herkömmliche Versionierung verwendet.
Anwendungen von Drittanbietern fragen meist nur die Basistabelle ab. Auf Delta-Tabellen kann mit den Anwendungen nicht zugegriffen werden. Wenn Sie die herkömmliche Versionierung verwenden und die Änderungen nicht in die Basistabelle verschieben, erfassen diese Anwendungen keine Änderungen, die in anderen Versionen vorgenommen, aber nicht abgeglichen und in die Default-Version zurückgeschrieben wurden. Außerdem werden Änderungen in diesen Delta-Tabellen erfasst, wenn Sie andere Versionen als die Default-Version bearbeiten. Wenn Sie Ihre Bearbeitungen in diesen anderen Versionen speichern, bleiben die Änderungen in den Delta-Tabellen. Wenn Sie jedoch Änderungen über die Abgleich- und Zurückschreibevorgänge in der Default-Version zusammenführen, werden diese aus den Delta-Tabellen in die Basistabellen verschoben. Beim Zusammenführen von Änderungen in andere Versionen als der Default-Version werden die Änderungen in den Delta-Tabellen so beibehalten, als wäre die Option zum Verschieben von Änderungen in Basistabellen nicht aktiviert.
Berechtigungen und Versionsänderungen
Der Besitzer der Geodatabase-Version (die Person, die diese erstellt) oder der Geodatabase-Administrator können Zugriffsberechtigungen für eine Version erteilen. Die Optionen im Bereich Zugriffsberechtigungen lauten wie folgt:
- Privat: Nur der Besitzer der Version oder der Geodatabase-Administrator können die Datasets in dieser Version anzeigen und ändern.
- Geschützt: Jeder Benutzer kann die Daten in der Version anzeigen, jedoch nur der Besitzer oder der Geodatabase-Administrator können diese ändern.
- Öffentlich: Alle Benutzer können die Daten anzeigen und ändern, sofern ihnen eine Bearbeitungsberechtigung für die Tabellen und Features-Classes erteilt wurde.
Der Versionszugriff wird beim Erstellen der Version festgelegt. Allerdings können der Versionsbesitzer oder der Geodatabase-Administrator die Berechtigungen im Dialogfeld Versions-Manager später ändern. Unter Erstellen von Versionen und Festlegen von Berechtigungen und Versionseigenschaften finden Sie weitere Informationen.
Sobald eine Tabelle oder Feature-Class als versioniert registriert wurde und Sie (bei Bedarf) eine Version erstellen, können Sie oder andere Benutzer die Daten bearbeiten. Für Bearbeitungen in ArcMap stellen Sie eine Verbindung zu der zu bearbeitenden Geodatabase-Version her, und fügen Sie die versionierte Tabelle oder Feature-Class der Karte hinzu.
Standardmäßig handelt es sich bei allen Editiersitzungen in ArcMap um versionierte Editiersitzungen. Wenn Sie also in der Karte versionierte Daten verwenden, können Sie direkt nach dem Öffnen einer Editiersitzung mit dem Bearbeiten beginnen.
Ihre Bearbeitungen gelten nur für die Version, mit der Sie während der Bearbeitung verbunden sind. Nach der Bearbeitung müssen Sie die Änderungen abgleichen und in eine Vorgängerversion zurückschreiben.
Abgleich und Zurückschreiben von Änderungen
Durch das Abgleichen und Zurückschreiben werden Ihre Änderungen in eine Version integriert, die eine Vorgängerversion der Version darstellt, in der Sie arbeiten, z. B. die Parent- oder Default-Version. Beim Abgleich werden die Änderungen in der von Ihnen bearbeiteten Version mit der Version verglichen, mit der Sie sie zusammenführen möchten.
Wenn Sie Daten in einer Version ändern, werden auf die Daten keine Sperren angewendet. Wenn zwei Benutzer an denselben Daten arbeiten, sei es in derselben Version oder in unterschiedlichen Versionen, können deshalb Versionskonflikte auftreten. Ein Konflikt liegt vor, wenn eine Zeile in den verglichenen Versionen Unterschiede aufweist. Beim Abgleichvorgang wird jeder Konflikt angezeigt, sodass Sie entscheiden können, welche Repräsentation der Zeile Sie beibehalten möchten.
In der Praxis sind Bearbeitungskonflikte jedoch recht selten, da die Anzahl der Änderungen im Vergleich zur Menge der geographischen Daten gering ist. In gut aufgesetzten Workflows sind die Kosten für die Abgleichungskonflikte gering im Vergleich zu den Einsparungen, die durch das Wegfallen von Sperren sowie des Auscheckens von Daten für die Dauer einzelner Bearbeitungstransaktionen entstehen.
Nachdem Sie den Abgleich und die Lösung von Konflikten abgeschlossen haben, können Sie die Änderungen zurückschreiben. Dabei werden die vorgenommenen Änderungen auf die Vorgängerversion angewendet. Wenn Sie die Version, aus der das Zurückschreiben erfolgte (die Child-Version), nicht mehr benötigen, können Sie sie löschen. Sie können sie auch weiter bearbeiten und später erneut Änderungen abgleichen und zurückschreiben.
Versionen: Beispiel
Hier ein Beispiel mit einem städtischen Wasserversorgungsunternehmen zur Veranschaulichung der herkömmlichen Versionierung. Der Wasserversorgungsunternehmen verfügt über eine Geodatabase mit Features, die den aktuellen Zustand aller Wasserleitungen, Ventile, Pumpen und anderen Bestandteile des Wasserversorgungsnetzes darstellen. Das Versorgungsunternehmen soll um eine neue Verlängerungsleitung ergänzt werden.
Ein Bearbeiter erstellt eine neue Version aus der Default-Version und nennt die neue Version "Verlängerungsprojekt". Diese neue Version enthält Bearbeitungen für das Design der neuen Erweiterung. Die Mitarbeiter des Versorgungsunternehmens sind sich jedoch nicht sicher, ob die Verlängerung mit 16-Zoll- oder 24-Zoll-Rohren ausgeführt werden soll. Aus der Version "Extension_project" wird daher eine Version erstellt, um den Entwurf mit 16-Zoll-Rohren zu untersuchen, und eine andere, um die Verwendung von 24-Zoll-Rohren zu untersuchen.
Letztlich entscheiden die Mitarbeiter, dass mit 24-Zoll-Rohren der Wasserbedarf für 12 weitere Jahre gedeckt werden kann und die anfänglich höheren Baukosten gerechtfertigt sind. Der 24-Zoll-Entwurf wird genehmigt, auf Richtigkeit überprüft und anschließend in die Version "Verlängerungsprojekt" zurückgeschrieben.
Der Bau der neuen Verlängerungsleitung wird ein paar Monate darauf abgeschlossen. Um die veröffentlichte Version der Geodatabase zu aktualisieren, wird die Version "Verlängerungsprojekt" auf Richtigkeit überprüft, mit der Default-Version abgeglichen und in diese zurückgeschrieben.