Deutsch

FAQ: Wie haben sich die eindeutigen Indizes für Global-IDs geändert, die von Geodatabases verwaltet werden?

Frage

Wie haben sich die eindeutigen Indizes für Global-IDs geändert, die von Geodatabases verwaltet werden?

Antwort

Die von Esri veröffentlichte Software der Produkte ArcGIS Desktop 10.5.1 und ArcGIS Pro 2.0 weist grundlegende Verhaltensänderungen an Global-IDs auf, die von Geodatabases verwaltet werden.

Was ist eine von einer Geodatabase verwaltete Global-ID?
Ein von einer Geodatabase verwaltetes Global-ID-Feld ist eine nicht bearbeitbare UUID-Spalte, die von der Geodatabase gefüllt wird. Ein Global-ID-Feld kann mit dem Geoverarbeitungswerkzeug "Global-ID hinzufügen" oder über Python mit dem folgenden arcpy-Modul hinzugefügt werden:

AddGlobalIDs_management (in_datasets)
Was hat sich geändert?
In ArcGIS Desktop 10.5.1 und ArcGIS Pro 2.0 tritt das folgende Verhalten auf:
  • Mit "Global-ID hinzufügen" wird jetzt ein eindeutiger Index für das Global-ID-Feld erstellt, damit die Eindeutigkeit über Features hinweg in der zugrunde liegenden Tabelle oder Feature-Class erhalten bleibt.
Verhalten von versionierten Klassen
  • Mit der Registrierung als versioniert ermittelt ArcGIS die Global-ID-Spalte und erstellt einen eindeutigen Index für die Basistabelle in der Global-ID-Spalte. Für die Adds- und Deletes-Tabellen werden keine neuen Indizes erstellt.
  • Durch das Hinzufügen einer Global-ID zu einer Klasse, die als versioniert registriert ist, wird ein neuer eindeutiger Index für das Global-ID-Feld erstellt. Für die Adds- und Deletes-Tabellen werden keine neuen Indizes erstellt.
Verhalten nicht-versionierter Archivklassen
  • Mit "Archivierung aktivieren" wird die Global-ID-Spalte ermittelt, und es wird ein eindeutiger Index für die Spalten "Global-ID" und "GDB_TO_DATE" erstellt.
  • Durch das Hinzufügen einer Global-ID zu einer archivierten aktivierten Klasse wird ein eindeutiger Index für die Felder "Global-ID" und "GDB_TO_DATE" erstellt. Die Tabelle "H" erhält einen nicht eindeutigen Index für die Global-ID-Spalte.
Das Verhalten wird in der nachstehenden Tabelle zusammengefasst:
Klassentyp VorbedingungOperationIndextyp Indexnamen Spalten
Nicht-versioniert Global-ID hinzufügenUNIQUEUUID_GLOBALID
Nicht-versioniertMit Global-IDNicht-versionierte Archivierung aktivierenUNIQUEUUID_GLOBALID, GBD_TO_DATE
Nicht-versioniertArchiv aktiviertGlobal-ID hinzufügenUNIQUEUUID_GLOBALID, GBD_TO_DATE
Nicht-versioniertMit Global-IDAls versioniert registrierenUNIQUEUUID_**GLOBALID
Nicht-versioniertMit UUIDAls versioniert registrierenNONEWINDEX
Nicht-versioniertMit Global-ID und irregulär benanntem Index für Global-IDAls versioniert registrierenUNIQUEIRREGNAMEDINDEX**GLOBALID
Versioniert Global-ID hinzufügenUNIQUEUUID_**GLOBALID
VersioniertMit Global-IDArchivierung aktivierenUNIQUEUUID_***GLOBALID
VersioniertArchiv aktiviertGlobal-ID hinzufügenUNIQUEUUID_**GLOBALID
Nicht-versioniertMit Global-ID und eindeutiger DB-BeschränkungAls versioniert registrierenUNIQUEUUID_**GLOBALID
** Kein neuer Index für die Adds- und Deletes-Tabellen
*** Tabelle "H" wird erstellt und erhält einen NONUNIQUE-Index für die Spalte "GLOBALID"

image of preceding table

Gründe für diese Änderungen
Die Erstellung eines eindeutigen Index für die Global-ID-Spalten ist eine direkte Reaktion auf Fälle von Datenbeschädigung. Durch diese Änderung ist sichergestellt, dass bei Vorgängen mit versionierten und nicht-versionierten Klassen mit aktivierten Archiven in Basistabellen keine doppelten Global-IDs aufgenommen werden. Für Vorgänge wie Synchronisierung und Replikation ist die Eindeutigkeit der "Global-IDs" Voraussetzung. Somit ist die Durchsetzung eindeutiger Global-IDs in der Datenbank ein wichtiger Schritt, um möglichen Problemen mit Duplizierungen vorzubeugen.

Der Preis für diese Datenintegrität ist die für die Indexerstellung aufgewendete Zeit (Global-ID hinzufügen/als versioniert registrieren/Archivierung aktivieren). Die zugrunde liegende DBMS-Plattform erstellt jetzt eine neue, größere Struktur. Darüber hinaus ist es für einige DBMS-Plattformen erforderlich, dass auch die übrigen Indizes für die Tabelle neu erstellt werden.