Geodatabase-Komprimierung

Bei der Geodatabase-Komprimierung werden nicht erforderliche States und Zeilen aus den Systemtabellen entfernt, die Versionen und versionierte Änderungen protokollieren.

TippTipp:

Um den Komprimierungsvorgang besser zu verstehen, müssen Sie sich zunächst mit der Versionierung vertraut machen. Grundlegende Informationen hierzu finden Sie unter Versionierung.

Was ist Komprimierung?

Bei der Komprimierung werden alle States entfernt, die nicht mehr von einer Version referenziert werden. Alle Zeilen in den Delta-Tabellen werden in die Business-Tabelle verschoben. Komprimierungsvorgänge können nur vom ArcSDE-Administrator ausgeführt werden. Diese werden, unabhängig vom jeweiligen Besitzer der Version, auf alle States der Geodatabase angewendet.

Die Komprimierung ist aus folgendem Grund erforderlich: 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. Die größten Auswirkungen auf die Performance hat daher nicht die Anzahl der Versionen, sondern der Umfang der Änderungen in den Delta-Tabellen für jede Version. Im Ergebnis können die Versionen unterschiedliche Zeiten für die Reaktion auf Abfragen aufweisen.

Um die Datenbankleistung aufrechtzuerhalten, müssen ArcSDE-Administratoren in regelmäßigen Abständen eine Komprimierung ausführen, um nicht verwendete Daten zu löschen.

Sie können eine Geodatabase mit dem ArcCatalog-Befehl "Komprimieren", dem Geoverarbeitungswerkzeug "Komprimieren" oder dem Python-Skript komprimieren. Informationen zum Befehl "Komprimieren" in ArcCatalog finden Sie unter Einfügen des Befehls "Komprimieren" in ArcCatalog. Informationen zum Geoverarbeitungswerkzeug oder Skript finden Sie unter Komprimieren.

Was geschieht während der Komprimierung?

Während des Komprimierungsvorgangs wird zunächst die State-Tree-Konfiguration der Instanz in den Speicher eingelesen. Mithilfe dieser Information werden beim Komprimieren alle nicht zu einer Lineage gehörenden States gelöscht. Wenn Sie einen State löschen, werden alle mit dem gelöschten State verknüpften Zeilen der Delta-Tabellen gelöscht.

In einem weiteren Schritt der Datenbank-Komprimierung werden alle States jeder einzelnen Lineage zu einem State zusammengefasst. In diesem Fall umfasst die Lineage eine Gruppe von States, die zu einem State zusammengefasst werden kann, ohne dass dabei die logische Ausprägung von Tabellen in einer bestimmten Version beeinflusst wird.

Zuletzt werden, sofern anwendbar, die Zeilen der Delta-Tabellen in die Business-Tabellen verschoben.

Bei jedem Schritt dieses Vorgangs werden die Datenbanktransaktionen beim Komprimieren der einzelnen Tabellen gestartet und wieder gestoppt. So kann überprüft werden, dass jede Tabelle in den unterschiedlichen Phasen des Komprimierungsvorgangs konsistent ist.

Der Komprimierungsvorgang kann auch während der Ausführung gestoppt oder gelöscht werden, da er auf eine direkte Konsistenz der Daten abzielt. Wenn daher während der Ausführung ein Fehler auftritt, diese fehlschlägt oder abrupt abbricht, sind die komprimierten versionierten Tabellen in Bezug auf die Darstellung einer beliebigen Version logisch richtig. Ein möglicher Grund für das Stoppen des Komprimierungsvorgangs: Wenn Sie die Komprimierung ausführen, während Benutzer mit der Datenbank verbunden sind, beansprucht die Komprimierung einen Großteil Ihrer Systemressourcen. In diesem Fall möchten Sie den Komprimierungsvorgang eventuell abbrechen und ihn erneut ausführen, wenn weniger oder keine Benutzer mit der Datenbank verbunden sind.

Da der Komprimierungsvorgang umfangreich sein kann, sollten Sie zunächst sicherstellen, dass Sie genügend logische Protokolldateien erstellen und über ausreichend Speicherplatz verfügen, um die Transaktion erfolgreich auszuführen.

Vollständiges Komprimieren einer Geodatabase

In einer vollständig komprimierten Geodatabase sind keine Zeilen in den Delta-Tabellen vorhanden, und der State-Tree wird auf Null zurückgesetzt. Die größte Performance-Steigerung ergibt sich durch vollständige Komprimierung der Geodatabase. Gehen Sie dazu folgendermaßen vor:

*ArcIMS-Services (außer ArcIMS-Karten-Services) fordern keine Sperren für States an und beeinflussen daher auch nicht den Komprimierungsvorgang. ArcGIS-Clients, einschließlich ArcIMS-Karten-Services, fordern Sperren an und beeinflussen daher auch den Komprimierungsvorgang.

Die Ergebnisse der jeweiligen Komprimierungsvorgänge werden in der Tabelle COMPRESS_LOG (SDE_compress_log in SQL Server- und PostgreSQL-Datenbanken) in der Geodatabase angezeigt. Sie können auch anhand der Tabelle VERSIONS (SDE_versions in SQL Server- und PostgreSQL-Datenbanken) prüfen, ob die State-ID für die Version „DEFAULT“ auf NULL zurückgesetzt wurde. Wenn dies der Fall ist und keine weiteren offenen Versionen vorhanden sind, wurde eine vollständige Komprimierung der Datenbank erreicht.

Es kann sein, dass Sie vor Ausführen eines Komprimierungsvorgangs nicht immer Versionen abgleichen, zurückschreiben oder löschen können oder die Benutzer von der Datenbank trennen können. Wenn Sie beispielsweise den Verlauf mithilfe von Versionen verfolgen oder Designversionen für ein Projekt beibehalten müssen, bleiben die historischen und die Designversionen einem State innerhalb des State-Trees zugeordnet und werden daher während des Komprimierungsvorgangs nicht gelöscht. Eine Verbesserung der Performance kann auch erreicht werden, wenn Sie zur Komprimierung nicht alle genannten Schritte ausführen.

Informationen zur Komprimierung finden Sie unter Komprimieren einer über ArcGIS Server Enterprise lizenzierten ArcSDE-Geodatabase.

Häufigkeit von Komprimierungsvorgängen

Je nachdem wie viele Bearbeitungsvorgänge in Ihrer Geodatabase ausgeführt werden, sollte diese auch entsprechend oft komprimiert werden. Wenn Sie viele Bearbeitungsvorgänge ausführen, sollten Sie die Geodatabase einmal täglich komprimieren. Bei einer mittleren oder geringen Anzahl von Bearbeitungsvorgängen sollten Sie die Datenbank mindestens einmal wöchentlich komprimieren.

HinweisHinweis:

Es ist wichtig, dass der Zeitraum zwischen den Komprimierungsvorgängen nicht zu groß ist. Je mehr versionierte Bearbeitungsvorgänge ausgeführt werden, desto mehr Zeit nimmt auch die Komprimierung der Geodatabase in Anspruch. Wenn die Geodatabase nicht mindestens einmal pro Woche komprimiert wird, kann der Komprimierungsvorgang mehrere Stunden dauern.

Nach der Komprimierung der Geodatabase

Nach Abschluss der Komprimierung sollten Sie die Statistiken Ihrer Geodatabase aktualisieren. Informationen zum Aktualisieren von Statistiken finden Sie unter Aktualisieren von Statistiken in einer Geodatabase mit "Analysieren" und im Thema für Ihr Datenbankmanagementsystem (DBMS).


7/10/2012