Optimiser les sources de données et le stockage

Au-delà de l’optimisation des applications et des services, un domaine tout aussi important pour l’amélioration des performances est le stockage et les caractéristiques des données sous-jacents à un service spécifique. La plupart des données utilisées dans les services Web sont de nature tabulaire (à l’exception des services d’imagerie) et impliquent le plus souvent à la fois :

  • Géométrie : colonne de données avec un type de données GEOGRAPHY ou GEOMETRY
  • Attributs : colonnes avec d’autres types de données pris en charge

La géométrie et les attributs peuvent être optimisés pour prendre en charge l’amélioration des performances du service. Vous trouverez des informations supplémentaires à ce sujet dans la documentation ArcGIS Pro relative aux paramètres qui affectent les performances d’accès aux données.

Utiliser seulement les attributs obligatoires

Vous pouvez optimiser l’utilisation des attributs en limitant les attributs. En termes simples, cela implique de supprimer ou masquer des colonnes ou des attributs éventuellement présents dans une table, mais qui ne sont pas nécessaires pour votre application ou votre cas d’utilisation. Pour ce faire, vous pouvez supprimer des colonnes lorsqu’elles ne sont pas nécessaires ou désactiver leur affichage sur la carte lors de la création à des fins de publication, par exemple, pour les couches d’images de carte. Les vues de couche d’entités hébergées peuvent également être configurées pour exclure les attributs qui ne sont pas nécessaires à un cas d’utilisation spécifique.

Indexer les attributs

L’indexation des attributs est un autre point important, principalement lorsque les colonnes sont utilisées pour appliquer un filtre ou exécuter une requête dans une application. L’indexation permet d’effectuer des requêtes plus rapides et plus efficaces si les filtres de requête sont basés sur un attribut connu ou si la requête porte sur un attribut textuel, numérique ou basé sur une date. Indexer des attributs est un excellent moyen d’utiliser la technologie d’optimisation déjà développée dans les bases de données relationnelles. Des index d’attributs peuvent être ajoutés au niveau de la géodatabase pour les classes d’entités et en tant que propriété du service pour les couches d’entités hébergées.

Optimiser la géométrie

Les colonnes de géométrie peuvent également être optimisées de différentes manières, en fonction du cas d’utilisation et des exigences relatives aux données. L’une des options est la généralisation spatiale, souvent appelée simplification. Elle consiste à simplifier, lisser ou réduire le niveau de détail d’une représentation géométrique, telle qu’une ligne ou un polygone, afin de réduire la taille de l’entité et les exigences de stockage et de traitement. Ce processus peut être effectué de manière permanente si les données d’origine sont trop précises ou trop détaillées en termes de sommets inclus. Il est possible aussi d’appliquer ce processus à une copie en lecture seule des données utilisées pour la visualisation, tout en conservant tous les détails dans les données d’origine.

La réduction de la précision spatiale, qui fait référence au type de données GEOGRAPHY ou GEOMETRY, est une idée voisine. Ce type de données stocke généralement une valeur décimale pour les coordonnées réelles de chaque sommet d’une entité, par exemple 124999.24541512. Cette valeur représente une unité linéaire qui varie en fonction du système de coordonnées du jeu de données, mais qui peut aller de l’unité la plus grande, les degrés décimaux, à l’unité la plus petite, les pieds ou les mètres. Dans tous les cas, il peut être important de s’assurer que la précision spatiale capturée reflète le scénario d’utilisation réel des données, tant pour des raisons fonctionnelles que de performance.

Pour les données d’un système de coordonnées avec une unité linéaire basée sur le mètre, une géométrie stockée sous la forme (123456.789101112, 234567.891011121) a une précision de 9 chiffres décimaux, équivalente à une précision de niveau nanométrique. Si les données sont capturées par un appareil GPS avec une précision de 1 mètre (en moyenne), cette précision dépasse la précision réelle de la mesure d’un facteur significatif. Réduire la précision spatiale du jeu de données en supprimant la partie décimale est non seulement plus précis, mais réduira également de 50 % la taille de la géométrie lorsqu’elle est transférée dans une requête réseau. Cela permet de résoudre tous les problèmes, des processus de sérialisation aux contraintes de bande passante. L’utilisation d’une précision spatiale appropriée est particulièrement importante pour les entités surfaciques très détaillées, car le nombre de sommets peut rapidement atteindre des milliers d’enregistrements. Cela peur avoir un impact considérable sur les performances du service.

Optimisations supplémentaires des données

Au-delà des ajustements d’attributs et de géométrie, d’autres approches de stockage de données de niveau supérieur peuvent être utiles pour optimiser les performances :

  • Utilisez des vues de base de données ou des vues matérialisées pour stocker une requête fréquemment consultée au niveau de la base de données. Elle pourra ensuite être publiée dans un service de carte pour être utilisée dans les applications ArcGIS.
  • Déterminez si une géodatabase fichier peut bénéficier d’un compactage : cette opération peut améliorer les performances en réorganisant le stockage interne d’une géodatabase fichier fréquemment modifiée.
  • Les géodatabases d’entreprise incluent diverses autres considérations en matière de performances, dont certaines peuvent être spécifiques à la base de données. Cependant, il est important de prendre en compte les opérations Compresser et Analyser les jeux de données lors de l’utilisation de données versionnées, et de tenir compte de divers critères de performance lors de l’utilisation d’un processus mettant en jeu plusieurs éditeurs.
Top