Au sein du format de stockage de cache compact
ArcGIS Server 10.0 a introduit le format de stockage de cache compact, une nouvelle manière de regrouper des tuiles de cache de carte au sein de fichiers volumineux, plutôt que de stocker les tuiles sous forme de fichiers individuels. Les avantages liés au stockage de tuiles au sein de groupes sont les suivants :
- Les caches sont plus faciles à copier car le nombre de fichiers est réduit.
- La taille totale du cache sur le disque est réduite.
- Les tuiles sont généralement créées plus rapidement car les E/S de disque sont réduites au cours de la création de tuiles.
- L'évolutivité fait l'objet d'une amélioration lors de la création de tuiles avec déploiement sur plusieurs ordinateurs, en raison du trafic réduit sur le réseau.
Fonctionnement du cache compact
Le cache compact regroupe de nombreuses tuiles au sein d'un fichier volumineux appelé "paquet". Un paquet peut contenir jusqu'à 16 384 tuiles. Résultat, un cache comporte des dizaines ou des centaines de fichiers, et non des milliers ou des millions. Si vous observez un cache compact sur le disque, vous pouvez voir les fichiers de paquet avec l'extension .bundle. Vous verrez également certains fichiers d'index correspondants avec l'extension .bundlx.
Il est possible d'avoir un cache de petite taille avec seulement un paquet à chaque niveau. Plus généralement, vous aurez une limite de paquet croisant une partie de la géographie. Vous obtiendrez ainsi plusieurs paquets dans un niveau (même si les paquets peuvent ne pas contenir l'intégralité des 16 000 tuiles si la géographie est petite). Les caches volumineux englobent un grand nombre de paquets.
Les limites de paquets sont déterminées par l'origine de la structure de tuilage et ne peuvent pas être ajustées. Pour référence, à la plage d'échelle voisinage/rue de 1:4096, un paquet complet couvre environ la surface d'un comté de taille moyenne dans l'Est des Etats-Unis.
Création de tuiles à l'aide de paquets
Au cours de la création de tuiles, chaque paquet est alloué à un processus ArcSOC.exe (exécutant une instance de service), lequel crée les tuiles pour le paquet. Il ne peut jamais y avoir deux processus ArcSOC.exe opérant sur le même paquet à un moment donné.
Si vous disposez d'un cache de petite taille ou que vous effectuez une mise en cache basée sur des limites d'entités peu importantes, vous risquez de ne pas exploiter intégralement les processus ArcSOC.exe disponibles. Cela est dû au fait que le nombre de processus ArcSOC.exe dépasse le nombre de paquets disponibles. Par conséquent, certains processus ArcSOC.exe doivent rester inactifs.
Si la sous-exploitation des processus ArcSOC.exe entraîne des durées de création de tuiles plus longues pour un cache volumineux, vous devez utiliser des entités plus grandes pour diviser la tâche de mise en cache.
Processus de mises à jour sur un cache compact
Lorsque vous mettez à jour des tuiles dans un cache compact, le paquet n'est pas recréé dans son intégralité. A la place, une zone plus détaillée de 4 096 x 4 096 pixels (sans anti-crénelage) ou de 2 048 x 2 048 pixels (anti-crénelage) est mise à jour. Dans la documentation ArcGIS, cette unité de surface est parfois désignée sous le terme de "super tuile".
Obtention de tuiles à partir du paquet
Les clients ArcGIS, y compris les API Web, savent comment lire les fichiers de paquet produits par le format de cache compact. Sur le Web, le client émet un appel au serveur pour le niveau, la ligne et la colonne spécifiques de la tuile. ArcGIS Server reçoit la requête et retourne la tuile appropriée à partir du paquet.
L'architecture interne du paquet n'est pas documentée de façon publique par Esri. Si vous avez codé votre propre logique pour extraire les tuiles d'un répertoire virtuel, vous devez continuer à utiliser le format "éclaté" qui stocke chaque tuile en tant que fichier distinct. Il s'agissait de la seule option dans les versions ArcGIS Server 9.3.1 et antérieures.