Optimieren von Datenquellen und -speicherung

Neben der Anwendungs- und Serviceoptimierung sind die Speicherung und die Eigenschaften der Daten hinter einem bestimmten Service ein ebenso wichtiger Bereich für die Performance-Verbesserung. Die meisten Daten, die in Web-Services verwendet werden, sind tabellarischer Natur (mit Ausnahme von Image-Services) und umfassen in den meisten Fällen die beiden folgenden Elemente:

  • Geometrie: Eine Datenspalte mit dem Datentyp “geography” oder “geometry”
  • Attribute: Spalten mit anderen unterstützten Datentypen

Sowohl die Geometrie als auch die Attribute können optimiert werden, um eine verbesserte Service-Performance zu unterstützen. Weitere Dokumentation zu diesen Bereichen finden Sie in der ArcGIS Pro-Dokumentation für Einstellungen, die zu Performance-Beeinträchtigungen beim Datenzugriff führen.

Ausschließliches Verwenden erforderlicher Attribute

Sie können die Verwendung von Attributen durch Attributreduzierung optimieren. Vereinfacht ausgedrückt bedeutet dies, dass Spalten oder Attribute, die in einer Tabelle vorhanden sein können, aber für Ihre Anwendung oder Ihren Anwendungsfall nicht benötigt werden, entfernt oder ausgeblendet werden. Dies kann erreicht werden, indem nicht benötigte Spalten entfernt werden, oder indem diese Spalten für die Anzeige in der Karte deaktiviert werden, wenn sie für die Veröffentlichung erstellt wurden, z. B. für Kartenbild-Layer. Sichten von gehosteten Feature-Layern können auch so konfiguriert werden, dass die für einen bestimmten Anwendungsfall nicht benötigten Attribute ausgeschlossen werden.

Indizieren von Attributen

Die Attributindizierung ist ein weiterer wichtiger Aspekt, vor allem wenn Spalten zum Filtern oder Abfragen in einer Anwendung verwendet werden. Die Indizierung ermöglicht schnellere und effizientere Abfragen, wenn die Anforderungsfilter auf einem bekannten Attribut basieren oder ein Textattribut, ein numerisches Attribut oder ein datumsbasiertes Attribut abgefragt wird. Das Hinzufügen von Attributindizes ist eine hervorragende Möglichkeit, die bereits entwickelte Optimierungstechnologie in relationalen Datenbanken zu nutzen. Attributindizes können auf Geodatabase-Ebene für Feature-Classes und als Eigenschaft des Service für gehostete Feature-Layer hinzugefügt werden.

Optimieren der Geometrie

Geometriespalten können auch auf mehrere wichtige Arten optimiert werden – je nach Anwendungsfall und Anforderungen an die Daten. Eine Option ist die räumliche Generalisierung, die häufig auch als Vereinfachung bezeichnet wird und bei der die Detaillierungsebene einer geometrischen Darstellung, z. B. einer Linie oder eines Polygons, vereinfacht, geglättet oder reduziert wird, um die Größe des Features und die Speicher- und Verarbeitungsanforderungen zu reduzieren. Dieser Prozess kann dauerhaft durchgeführt werden, wenn die ursprünglichen Daten in Bezug auf die enthaltenen Stützpunkte zu genau oder zu detailliert sind, oder er kann mit einer schreibgeschützten Kopie der Daten durchgeführt werden, die für die Visualisierung verwendet wird, während die Detailtiefe der ursprünglichen Daten vollständig erhalten bleibt.

Eng verwandt ist die Idee der Reduzierung der räumlichen Genauigkeit, die sich auf den geometrischen oder geographischen Datentyp bezieht. Bei diesem wird in der Regel ein Dezimalwert für die tatsächlichen Koordinaten jedes Stützpunktes eines Features gespeichert, z. B. 124999.24541512. Dieser Wert stellt eine lineare Einheit dar, die abhängig vom Koordinatensystem des Datasets variiert und so groß wie Dezimalgrad oder so klein wie Fuß oder Meter sein kann. In jedem Fall kann es sowohl aus funktionalen Gründen als auch aus Performance-Gründen wichtig sein, sicherzustellen, dass die erfasste räumliche Genauigkeit den tatsächlichen Anwendungsfall der Daten widerspiegelt.

Für Daten in einem Koordinatensystem mit einer meterbasierten linearen Einheit hat eine Geometrie, die als (123456.789101112, 234567.891011121) gespeichert ist, eine Genauigkeit von 9 Dezimalstellen, was der Genauigkeit auf Nanometerebene entspricht. Wenn die Daten von einem GPS-Gerät mit einer Genauigkeit von einem Meter (im Durchschnitt) erfasst werden, dann überschätzt diese Genauigkeit die tatsächliche Genauigkeit der Messung um einen signifikanten Faktor. Das Verringern der räumlichen Genauigkeit des Dataset durch Entfernen des Dezimalteils ist nicht nur genauer, sondern es reduziert auch die Größe der Geometrie bei Übertragung in einer Netzwerkanforderung um 50 %, was in vielerlei Hinsicht, von Serialisierungsprozessen bis hin zu Bandbreiteneinschränkungen, hilfreich ist. Die Verwendung einer angemessenen räumlichen Genauigkeit ist besonders wichtig bei sehr detaillierten Polygon-Features, da die Anzahl der Stützpunkte schnell Tausende von Datensätzen erreichen kann und die daraus resultierenden Auswirkungen auf die Service-Performance erheblich sind.

Weitere Datenoptimierungen

Über Attribut- und Geometrieanpassungen hinaus können auch andere Datenspeicherungsansätze auf höherer Ebene zur Optimierung der Performance beitragen, z. B.:

  • Verwenden Sie Datenbanksichten oder materialisierte Sichten, um eine Abfrage, auf die häufig zugegriffen wird, auf Datenbankebene zu speichern. Die Abfrage kann dann in einem Kartenservice veröffentlicht werden, um sie in ArcGIS-Anwendungen zu verwenden.
  • Überlegen Sie, ob eine File-Geodatabase von einer Komprimierung profitieren kann – dieser Vorgang kann die Performance verbessern, indem der interne Speicher einer häufig bearbeiteten File-Geodatabase neu organisiert wird.
  • Für Enterprise-Geodatabases gilt eine Vielzahl anderer Performance-Überlegungen, von denen einige datenbankspezifisch sein können. Es ist jedoch wichtig, bei Arbeiten mit versionierten Daten die Vorgänge Komprimieren und Datasets analysieren sowie bei Verwendung eines Workflows mit mehreren Editoren eine Vielzahl von Performance-Überlegungen zu berücksichtigen.
Top