Mit der Standard- oder Advanced-Lizenz verfügbar.
Die 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.
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 einem Parcel-Fabric bearbeiten, werden nicht alle Features gesperrt. Das bedeutet, dass andere Benutzer einen anderen Teil des Netzwerks, der Topologie oder des 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 eine Verbindung herstellen, geben Sie die gewünschte Version an. In der Standardeinstellung wird eine Verbindung mit der Default-Version hergestellt.
Definition einer Version
Eine Version ist eine Art Ansicht der Geodatabase, die Änderungen unterteilt. Versionen ermöglichen es Ihnen und allen anderen Benutzern, die mit derselben Version verbunden sind, Ihre Änderungen anzuzeigen. Benutzern, die mit anderen Versionen verbunden sind, werden Ihre Änderungen erst angezeigt, nachdem Sie sie abgeglichen und in eine 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 Strategien zum Workflow entspricht sie der veröffentlichten Version der Geodatabase und stellt den aktuellen Zustand des modellierten Systems dar. 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 Versionen
Sie erstellen eine Version, indem Sie Child-Versionen einer vorhandenen Version erstellen. Die erste Version erstellen Sie, indem Sie eine Child-Version der Default-Version erstellen. Wenn die neue 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 neuen Version Änderungen vorgenommen werden.
Eine Geodatabase kann zahlreiche Versionen aufweisen. Nachfolgend finden Sie das Dialogfeld Versions-Manager, auf das Sie über ArcGIS for Desktop zugreifen können. 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 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 Versionen und versionierten Bearbeitungen
Die versionierte Bearbeitung von Daten in einer beliebigen Version ist erst möglich, nachdem die Datasets als versioniert registriert wurden.
Beim Registrieren eines Datasets (einer Feature-Class, eines Feature-Datasets oder einer Tabelle) als versioniert 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 versioniertes 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 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 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 der 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
Die Option zum Verschieben von Änderungen in Basistabellen
Wenn Sie beim Registrieren Ihrer Daten als versioniert 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 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:
- Die Änderungen, die Sie vornehmen, nehmen nur wenige Minuten in Anspruch.
- Die Daten sind nicht an einem Netzwerk oder einer Topologie beteiligt.
- Sie stellen mit einer Drittanbieteranwendung eine Verbindung zu einer versionierten Geodatabase her.
Anwendungen von Drittanbietern sind meist so eingerichtet, dass nur die Basistabelle abgefragt wird. Auf Delta-Tabellen kann mit den Anwendungen nicht zugegriffen werden. Wenn Sie die 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 die Version speichern, verbleiben die Änderungen in den Delta-Tabellen. Wenn Sie jedoch Änderungen 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 Eigentümer der Version (also die Person, die die Version erstellt hat) kann festlegen, welche Benutzer auf die Version zugreifen können. Die Optionen im Bereich Zugriffsberechtigungen lauten wie folgt:
- Privat: Nur der Eigentümer der Version kann die Datasets in dieser Version anzeigen und ändern.
- Geschützt: Jeder Benutzer kann die Datasets in der Version anzeigen, jedoch nur der Eigentümer kann diese ändern.
- Öffentlich: Alle Benutzer können die Datasets anzeigen und ändern, sofern ihnen eine Berechtigung für die Datasets erteilt wurde.
Der Versionszugriff wird beim Erstellen der Version festgelegt. Allerdings kann dieser auch im Dialogfeld Versions-Manager geändert werden. Unter Erstellen von Versionen und Festlegen von Berechtigungen und Versionseigenschaften finden Sie weitere Informationen.
Um Änderungen vorzunehmen, stellen Sie eine Verbindung mit einer bestimmten Geodatabase-Version aus ArcMap her, und fügen Sie Daten hinzu, die bei der Karte als versioniert registriert wurden.
In der Standardeinstellung 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. Zum Öffnen einer Editiersitzung klicken Sie auf der Werkzeugleiste Editor auf die Dropdown-Liste Editor und anschließend auf Bearbeitung starten.
An einer Version vorgenommene Änderungen gelten nur für diese Version. Eine Ausnahme bilden Schema-Änderungen. Wenn Sie das Schema in einer Version ändern, z. B. einer Tabelle ein neues Feld hinzufügen, wird die Änderung auch auf alle anderen Versionen angewendet. Nur Eigentümer von Daten können das Schema eines Datasets ändern.
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 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 und dem Auschecken von Daten für die Dauer einzelner Transaktionen entstehen.
Nachdem Sie den Abgleich abgeschlossen haben, können Sie die Änderungen zurückschreiben. Dabei werden die vorgenommenen Änderungen auf die andere Version angewendet. Wenn Sie die Version, aus der das Zurückschreiben erfolgte, 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 Versionierung. Der Wasserversorger verfügt über eine Geodatabase mit Features, die den aktuellen Zustand aller Wasserleitungen, Ventile, Pumpen und anderen Bestandteile des Wasserversorgungsnetzes darstellen. Das Wasserversorgungsnetz soll um eine neue Verlängerungsleitung ergänzt werden.
Aus der Default-Version wird eine neue Version erstellt und "Verlängerungsprojekt" benannt. Diese enthält die Pläne der neuen Verlängerungsleitung. Die Mitarbeiter des Versorgers sind sich jedoch nicht sicher, ob die Verlängerung mit 16-Zoll- oder 24-Zoll-Rohren ausgeführt werden soll. Aus der Version "Verlängerungsprojekt" 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 wird ermittelt, 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.
Einige Monate später ist der Bau der neuen Verlängerungsleitung abgeschlossen. Um die veröffentlichte Version der Datenbank zu aktualisieren, wird die Version "Verlängerungsprojekt" auf Richtigkeit überprüft, abgeglichen und in die Default-Version zurückgeschrieben.