De nombreuses organisations ont établi des stratégies de consolidation ou de transformation des données au cours des dernières années ou participent activement à une telle activité aujourd’hui. Ces stratégies résultent souvent de priorités croisées, notamment la nécessité de décloisonner les systèmes de données en silos, de permettre une analyse intégrée et rapide entre les jeux de données et de travailler efficacement à grande échelle à mesure que le volume et la complexité des données augmentent.
Deux catégories de technologies sont souvent mises en œuvre d’une manière ou d’une autre pour faciliter cette transformation : la technologie des lacs de données et la technologie des entrepôts de données, parfois utilisées conjointement. On confond souvent les technologies des lacs de données et les entrepôts de données et ces termes peuvent être utilisés de manière interchangeable dans des discussions informelles. Toutefois, leurs objectifs et leurs rôles diffèrent dans un système d’information d’entreprise, aux niveaux de la conception et de la mise en œuvre. Cette page tente de décrire ces technologies d’un point de vue général, indépendant du fournisseur et du produit, et d’expliquer l’approche stratégique d’Esri pour utiliser ces technologies du point de vue du système ArcGIS.
ArcGIS Online prend en charge les connexions aux entrepôts de données via des connecteurs en entrée pour ArcGIS Data Pipelines. Les utilisateurs d’ArcGIS Enterprise peuvent se connecter aux entrepôts de données par le biais de couches de requête publiées via ArcGIS Pro. Les utilisateurs d’ArcGIS Pro peuvent se connecter aux entrepôts de données pris en charge en tant que couches de requête, et utiliser des services de carte publiés par ArcGIS Enterprise. L’extension ArcGIS Data Interoperability pour ArcGIS Pro inclut également des lecteurs et des rédacteurs qui utilisent des systèmes d’entrepôt de données.
ArcGIS Online prend en charge les connexions aux lacs de données utilisant les fournisseurs de stockage d’objets pris en charge, et peut être utilisé pour travailler avec des formats de données de lacs de données tels que Parquet. Data Pipelines ne prend pas en charge les requêtes analytiques par lots dans les lacs de données. ArcGIS Data Pipelines pour ArcGIS Enterprise offre des fonctions similaires, tandis qu’ArcGIS Enterprise prend également en charge la publication de services d’imagerie qui référencent les jeux de données stockés dans un système de lacs de données. ArcGIS Pro prend en charge la connectivité aux lacs de données avec des connexions d’entités multi-fichier au stockage de dossiers et via des fichiers de connexion au Cloud qui peuvent se connecter à des lacs de données pour accéder à des images raster ou enregistrer les résultats d’analyse raster .crf.
| Fonctionnalité | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| Connectivité des entrepôts de données | N/D | |||
| Connectivité des lacs de données | N/D |
Prise en charge complète Prise en charge partielle
Les lacs de données peuvent varier considérablement en termes de définition et de construction, mais en règle générale, un lac de données est un référentiel centralisé pour des éléments de données individuels (fichiers) de différents types, qui sont stockés dans un système de stockage volumineux et évolutif qui permet l’indexation, le catalogage et l’exécution d’analyses sur ces fichiers. Les données peuvent être structurées ou non structurées, stockées dans différents formats de fichiers et organisées en fonction des flux de données entrants ou d’autres systèmes qui créent ces données. Les données sont ensuite consultées, visualisées et analysées à l’aide d’outils et de fonctionnalités que le fournisseur de lac de données met à disposition par le biais d’un logiciel.
Par exemple, une organisation peut utiliser un lac de données pour stocker des milliers de fichiers CSV qui représentent des suivis horaires individuels de la position, de la vitesse et de la direction du véhicule. Les logiciels de lac de données peuvent prendre en charge l’exécution d’analyses par lots sur ces milliers de fichiers. Ceci leur permet d’extraire des scénarios dans lesquels la vitesse dépasse un certain niveau ou de détecter des tendances dans des localisations dans lesquelles des arrêts fréquents se produisent. Les systèmes de données traditionnels nécessitent de fusionner ces nombreux fichiers en un seul jeu de données qui est accessible par la suite, mais un lac de données permet d’utiliser cette expérience de requête et d’analyse à grande échelle sur le vaste gisement de données. Dans un même lac de données, une même organisation peut stocker un format de données différent qui synthétise les profils des clients et les données liées aux ventes sous un format d’archive basé sur des fichiers. Ainsi, il est possible de corréler l’activité précédente à la base de données transactionnelle en direct des commandes ou des clients actifs.
Les lacs de données sont principalement accessibles à partir d’ArcGIS en tant que source de données permettant de poser des questions analytiques, les résultats étant ensuite visualisés dans une interface spatiale ou cartographique. Étant donné que ces systèmes de stockage contiennent généralement de très grands ensembles de données dans des fichiers de structure similaire, les processus qui portent sur ces données ont souvent pour objet de synthétiser le contenu avant d’exécuter une analyse géospatiale ou de comparer ces jeux de données à d’autres couches spatiales ou non spatiales pour répondre à une question analytique particulière. En général, ces analyses nécessitent un grand nombre de traitements, de sorte que le processus implique généralement plusieurs étapes :
Concevoir ou définir soigneusement la question analytique, souvent à l’aide d’un sous-ensemble des données ou d’un seul exemple de fichier ou d’ensemble de données. Dans la mesure du possible, optimiser cette analyse si elle doit être exécutée sur une couche de données très volumineuse et réduire les colonnes et les données de sortie pour augmenter l’efficacité.
Exécuter les analyses à l’aide d’une interface fournie par le lac de données ou d’un système de traitement externe tel qu’Apache Spark. Les résultats sont souvent renvoyés vers un jeu de données ou bloc de données en mémoire dans cette interface.
Afficher les résultats synthétisés de l’analyse sous forme de tableau ou de couche spatiale pour examiner les réponses à la question analytique. Si vous le souhaitez, vous pouvez conserver les résultats dans un autre format ou référentiel, en publiant un fichier CSV, en créant une couche d’entités hébergée ArcGIS ou en envoyant les résultats vers une autre API ou un autre système.
Les lacs de données peuvent également être utilisés comme référentiels de jeux de données d’imagerie ou de fichiers raster accessibles via un fichier de connexion au Cloud à partir d’ArcGIS Pro ou dans le cadre d’un jeu de données mosaïque. Les images du lac de données peuvent être ajoutées à un jeu de données mosaïque et utilisées pour publier un service d’imagerie, en tant que source pour les analyses exécutées à l’aide d’analyses raster, affichées dans ArcGIS Pro et utilisées pour les processus de géotraitement, d’analyse ou de rendu.
Voici quelques exemples de processus de lac de données à l’aide d’ArcGIS :
Exécution d’une analyse des points chauds sur des milliers de fichiers CSV contenant les localisations des oiseaux collectées sur une période de plusieurs années à l’aide d’ArcGIS GeoAnalytics Engine ou d’ArcGIS GeoAnalytics dans ArcGIS Pro.
En tant que scientifique de l’environnement, utilisez ArcGIS Python API pour identifier les heures et les localisations de niveaux élevés d’ozone dans tout le pays dans un jeu de données recensant des millions de relevés de capteurs statiques, à l’aide d’outils tels que Détecter les incidents et Créer un cube spatio-temporel.
Les entrepôts de données correspondent à un autre type de système de stockage dont la conception, la définition et la construction peuvent varier. En principe, un entrepôt de données est très similaire à un système de gestion de base de données relationnelle. Il permet le stockage de grands jeux de données structurés et bénéficie de fonctions d’interrogation, d’analyse et de synthèse des jeux de données. Un entrepôt de données diffère généralement d’un système de base de données relationnelle traditionnel par l’échelle des données qu’il peut prendre en charge, le type et la diversité d’analyses qui peuvent être effectuées et la vitesse à laquelle ces processus sont réalisés.
Les entrepôts de données sont également souvent créés dans une configuration plus native du Cloud ou fournis dans un modèle de logiciel en tant que service qui permet aux clients de se connecter à un système géré par l’entreprise à l’origine de la technologie d’entrepôt de données en utilisant la capacité de calcul et le stockage, également hébergés et gérés par ce fournisseur. Un autre composant courant de l’entreposage de données est l’utilisation de modèles de données non relationnels, tels qu’un modèle en étoile, un modèle de données dimensionné ou d’autres concepts similaires.
Dans ArcGIS, l’utilisation des entrepôts de données peut prendre plusieurs formes. Le modèle le plus courant commence par une connexion d’ArcGIS Pro à l’entrepôt de données pour exécuter une requête sur une table ou une vue. Celle-ci est créée par le biais d’une couche de requête, qui est un type de couche dans ArcGIS Pro pouvant exécuter une requête SQL définie par l’utilisateur sur une base de données prise en charge. Pour obtenir la liste des bases de données et des entrepôts de données Cloud pris en charge, consultez la documentation d’ArcGIS Pro.
La couche de requête renvoie les résultats de la base de données sous forme de table, qui peut être affichée sur la carte si elle contient une colonne spatiale reconnue par ArcGIS. Elle permet ensuite la visualisation, en tant qu’entrée d’une analyse ou en entrée pour la création d’une carte. Cette couche est une connexion en direct à l’entrepôt, de sorte qu’une nouvelle requête est envoyée à chaque changement d’étendue de la carte. Cette requête renvoie un nouvel ensemble de lignes, reflétant potentiellement des données sources mises à jour, un calcul mis à jour ou simplement une nouvelle étendue spatiale.
Si un accès Web est requis, cette couche de requête peut être publiée dans ArcGIS Enterprise sous forme de service de carte dynamique. Ce service conserve la symbologie ou définition de la carte ArcGIS Pro dans la configuration du service. Chaque requête utilisateur déclenche une requête SQL mise à jour d’ArcGIS Enterprise vers l’entrepôt de données. Les services de carte sont également accessibles sous forme de couches d’entités pour la visualisation et l’interrogation côté client.
Les entrepôts de données sont optimisés pour les requêtes volumineuses, analytiques ou synthétiques, ce qui permet aux propriétaires de données de répondre à des questions telles que « Quel est le montant moyen des achats dans différentes catégories de produits sur plusieurs millions de transactions dans nos magasins au cours des dernières 24 heures ? ». Une requête de ce type s’exécute généralement à intervalles réguliers et les résultats permettent d’alimenter et de tenir à jour un tableau de bord, une synthèse des données ou un graphique. Un analyste de données ou un expert en mégadonnées peut également faire appel aux entrepôts de données pour lancer une analyse exploratoire plus itérative visant à définir et à réutiliser une statistique ou un rapport récapitulatif.
Pour cette raison, les couches de requête dans ArcGIS qui se connectent à des entrepôts de données doivent le plus souvent interroger les résultats d’une telle analyse, plutôt qu’un ensemble spécifique de lignes transactionnelles (par exemple, une liste des millions de transactions au cours de la période de 24 heures). Même s’il est possible d’interroger les entrepôts de données ligne par ligne, ils ne sont pas optimisés pour ce type d’interaction transactionnelle et cela peut aboutir à des expériences frustrantes. Ainsi, une tentative visant à interroger un million de lignes à afficher sur une carte se solde par un temps de réponse long pour renvoyer et afficher toutes les lignes demandées.
Les couches de requête peuvent être davantage optimisées en réduisant le nombre de requêtes effectuées directement sur les données. Le traitement d’un nombre moindre de requêtes peut réduire les coûts de votre entrepôt de données Cloud car ces services engendrent généralement des coûts basés sur les ressources de calcul utilisées. Lors de la publication de couches à partir des données dans les entrepôts de données Cloud, ArcGIS peut éventuellement créer une vue matérialisée. La vue matérialisée peut être actualisée après la mise à jour des données sous-jacentes afin d’intégrer ces mises à jour dans la vue. L’utilisation de vues matérialisées occasionne des coûts de calcul dans un entrepôt de données Cloud uniquement lorsque vous actualisez la vue, pas à chaque accès aux données. L’utilisation de vues matérialisées pré-calculées est également généralement plus rapide que d’exécuter une requête directement sur les données. Les vues matérialisées sont particulièrement utiles pour les jeux de données mis à jour de façon occasionnelle et pour les requêtes complexes nécessitant des ressources de calcul importantes.
Une autre stratégie pour réduire le nombre de requêtes effectuées dans l’entrepôt de données Cloud consiste à créer un instantané des données lors de la publication d’une couche de requête. Un instantané copie le jeu de résultats des requêtes depuis l’entrepôt de données Cloud vers ArcGIS Enterprise. La couche fait référence à cette copie au lieu d’interroger l’entrepôt de données Cloud, ce qui améliore généralement les performances de la couche. Les instantanés ne sont pas mis à jour automatiquement lorsque les données sous-jacentes sont mises à jour. Dans ArcGIS Enterprise, vous pouvez actualiser l’instantané à la demande ou planifier une actualisation à des intervalles spécifiques.
D’autres méthodes d’intégration avec les entrepôts de données existent également, mais sont moins courantes, notamment les suivantes :
Intégrations de type ETL, où les résultats d’une requête ou d’une vue d’entrepôt de données sont copiés régulièrement dans ArcGIS. Ces intégrations peuvent effectuer ce travail en utilisant ArcGIS Data Pipelines, les bibliothèques Python d’ArcGIS, ArcGIS Notebooks ou l’extension ArcGIS Data Interoperability. Les intégrations de type ETL présentent l’avantage d’intégrer les données des entrepôts de données dans ArcGIS Online sous forme de couche d’entités ou de table hébergée.
Intégrations de type API pour lesquelles une application Web ArcGIS ou une application cliente peut interroger un entrepôt de données pour renvoyer des résultats ou des valeurs. Pour ce faire, il est possible d’utiliser ArcGIS Maps SDKs, où une couche d’entités ou une couche graphique côté client peut être créée à partir des résultats. ArcGIS Enterprise SDK pourrait également être utilisé pour créer un flux de données personnalisé pour les services d’entités.
Dans ces deux scénarios, l’authentification, la fréquence de mise à jour des données et les contrôles d’accès sont des considérations et des exigences pertinentes à prendre en compte.