Modifier

Traitement et analytique des données géospatiales

Azure Data Factory
Azure Data Lake Storage
Azure Database pour PostgreSQL
Azure Databricks
Hubs d'événements Azure

Cet article décrit une solution gérable pour mettre à disposition des volumes importants de données géospatiales à des fins d’analytique.

Architecture

Diagramme d’architecture montrant comment les données géospatiales transitent par un système Azure. Différents composants reçoivent, traitent, stockent, analysent et publient les données.

Téléchargez un fichier Visio de cette architecture.

Le diagramme contient plusieurs zones grises, chacune avec une étiquette différente. De gauche à droite, les étiquettes sont Ingérer, Préparer, Charger, Servir, et Visualiser et explorer. Une dernière zone sous les autres est étiquetée Superviser et sécuriser. Chaque zone contient des icônes représentant différents services Azure. Des flèches numérotées relient les cases de la manière décrite dans l’explication du diagramme.

Workflow

  1. Les données IoT entrent dans le système :

    • Azure Event Hubs ingère des flux de données IoT. Les données contiennent des coordonnées ou d’autres informations qui identifient les emplacements des appareils
    • Event Hubs utilise Azure Databricks pour le traitement de flux initial.
    • Event Hubs stocke les données dans Azure Data Lake Storage.
  2. Les données GIS entrent dans le système :

    • Azure Data Factory ingère les données SIG raster et les données GIS vectorielles de n’importe quel format.

      • Les données raster sont composées de grilles de valeurs. Chaque valeur de pixel représente une caractéristique telle que la température ou l’élévation d’une zone géographique
      • Les données vectorielles représentent des caractéristiques géographiques spécifiques. Les vertex, ou emplacements géométriques discrets, composent les vecteurs et définissent la forme de chaque objet spatial
    • Data Factory stocke les données dans Data Lake Storage

  3. Les clusters Spark dans Azure Databricks utilisent des bibliothèques de code géospatiales pour transformer et normaliser les données.

  4. Data Factory charge les données vectorielles et raster préparées dans Azure Database pour PostgreSQL. La solution utilise l’extension PostGIS avec cette base de données.

  5. Data Factory charge les données vectorielles et raster préparées dans Azure Data Explorer.

  6. Azure Database pour PostgreSQL stocke les données GIS. Les API rendent ces données disponibles dans des formats standardisés :

    • GeoJSON est basé sur JSON (JavaScript Object Notation). GeoJSON représente des fonctionnalités géographiques simples et leurs propriétés non spatiales
    • WKT (Well-Known Text) est un langage de balisage de texte qui représente des objets géométriques vectoriels
    • Les mosaïques vectorielles sont des paquets de données géographiques. Leur format léger améliore les performances de mappage

    Un cache Redis améliore les performances en fournissant un accès rapide aux données.

  7. La fonctionnalité Web Apps d’Azure App Service fonctionne avec Azure Maps pour créer des visuels des données.

  8. Les utilisateurs analysent les données avec Azure Data Explorer. Les fonctionnalités GIS de cet outil créent des visualisations pertinentes. En guise d’exemple, citons la création de nuages de points à partir de données géospatiales.

  9. Power BI fournit des rapports personnalisés et des outils décisionnels. Le visuel Azure Maps pour Power BI met en évidence le rôle des données d’emplacement dans les résultats métier.

Tout au long du processus :

  • Azure Monitor collecte des informations relatives aux événements et performances.
  • Log Analytics exécute des requêtes sur les journaux Azure Monitor et analyse les résultats
  • Azure Key Vault sécurise les mots de passe, les chaînes de connexion et les secrets.

Composants

  • Azure Event Hubs est une plateforme de streaming complètement managée pour le Big Data. Cette plateforme en tant que service (PaaS) offre un modèle de consommateur partitionné. Plusieurs applications peuvent utiliser ce modèle pour traiter le flux de données en même temps.

  • Azure Data Factory est un service d’intégration qui opère avec des données provenant de magasins de données disparates. Vous pouvez utiliser cette plateforme serverless complètement managée pour créer, planifier et orchestrer des flux de travail de transformation de données.

  • Azure Databricks est une plateforme d’analytique des données. Ses clusters Spark complètement managés traitent de grands flux de données provenant de plusieurs sources. Azure Databricks peut transformer des données géospatiales à grande échelle en vue de leur utilisation à des fins d’analytique et de visualisation des données.

  • Data Lake Storage est un lac de données scalable et sécurisé pour vos charges de travail d’analytique hautes performances. Il peut traiter plusieurs pétaoctets d’informations tout en maintenant un débit de plusieurs centaines de gigabits. Les données proviennent généralement de plusieurs sources hétérogènes et peuvent être structurées, semi-structurées ou non structurées.

  • Azure Database pour PostgreSQL est un service de base de données relationnelle complètement managé, basé sur l’édition communautaire du moteur de base de données open source PostgreSQL.

  • PostGIS est une extension de la base de données PostgreSQL qui s’intègre aux serveurs GIS. PostGIS peut exécuter des requêtes d’emplacement SQL qui impliquent des objets géographiques.

  • Redis est un magasin de données en mémoire open source. Les caches Redis conservent les données fréquemment sollicitées dans la mémoire du serveur. Les caches peuvent ensuite traiter rapidement de grands volumes de requêtes d’application qui utilisent les données.

  • Power BI est une collection de services logiciels et d’applications. Vous pouvez utiliser Power BI pour connecter des sources de données non liées et créer des visuels.

  • Le visuel Azure Maps pour Power BI permet d’améliorer les cartes avec des données spatiales. Vous pouvez utiliser ce visuel pour montrer comment les données d’emplacement affectent les métriques métier.

  • Azure App Service et sa fonctionnalité Web Apps fournissent un framework pour la création, le déploiement et la mise à l’échelle d’applications web. La plateforme App Service offre une maintenance d’infrastructure intégrée, des correctifs de sécurité et une mise à l’échelle.

  • Les API de données GIS dans Azure Maps stockent et récupèrent les données cartographiques dans des formats tels que GeoJSON et mosaïques vectorielles.

  • Azure Data Explorer est un service d’analytique données rapide et complètement managé qui peut opérer avec de gros volumes de données. Ce service était initialement axé sur l’analytique des journaux et des séries chronologiques. Il gère désormais aussi divers flux de données provenant d’applications, de sites web, d’appareils IoT et d’autres sources. Les fonctionnalités géospatiales dans Azure Data Explorer fournissent des options pour le rendu des données cartographiques.

  • Azure Monitor collecte des données dans les environnements et ressources Azure. Ces informations de diagnostic sont utiles pour assurer le maintien de la disponibilité et des performances. Monitor se compose de deux plateformes de données :

  • Log Analytics est un outil du portail Azure qui exécute des requêtes sur les données des journaux Monitor. Log Analytics fournit également des fonctionnalités de création de graphiques et d’analyse statistique des résultats de requête.

  • Key Vault stocke et contrôle l’accès aux secrets tels que les jetons, mots de passe et clés API. Key Vault crée et contrôle également des clés de chiffrement et gère les certificats de sécurité.

Autres solutions

  • Au lieu de développer vos propres API, vous pouvez utiliser Martin. Ce serveur de mosaïques open source rend les mosaïques vectorielles disponibles pour les applications web. Écrit en Rust, Martin se connecte aux tables PostgreSQL. Vous pouvez le déployer en tant que conteneur.

  • Si votre objectif est de fournir une interface standardisée pour les données GIS, vous pourriez utiliser GeoServer. Ce framework ouvert implémente des protocoles OGC (Open Geospatial Consortium) de norme industrielle tels que WFS (Web Feature Service). Il s’intègre également avec les sources de données spatiales courantes. Vous pouvez déployer GeoServer en tant que conteneur sur une machine virtuelle. Lorsque les applications web personnalisées et les requêtes exploratoires sont secondaires, GeoServer offre un moyen simple de publier des données géospatiales.

  • Différentes bibliothèques Spark sont disponibles pour l’utilisation de données géospatiales sur Azure Databricks. Cette solution utilise les bibliothèques suivantes :

    Mais d’autres solutions existent également pour le traitement et la mise à l’échelle des charges de travail géospatiales avec Azure Databricks.

  • Les mosaïques vectorielles offrent un moyen efficace d’afficher des données GIS sur des cartes. Cette solution utilise PostGIS pour interroger des mosaïques vectorielles de manière dynamique. Cette approche fonctionne bien pour les requêtes simples et les jeux de résultats qui contiennent bien moins d’un million d’enregistrements. Mais dans les cas suivants, une approche différente peut être préférable :

    • Vos requêtes sont coûteuses en termes de calcul
    • Vos données ne changent pas fréquemment
    • Vous affichez des jeux de données volumineux

    Dans ces cas-là, vous pourriez utiliser Tippecanoe pour générer des mosaïques vectorielles. Vous pouvez exécuter Tippecanoe dans le cadre de votre flux de traitement de données, sous la forme d’un conteneur ou avec Azure Functions. Vous pouvez rendre les mosaïques obtenues accessibles par le biais d’API.

  • Comme Event Hubs, Azure IoT Hub peut ingérer de grandes quantités de données. Mais IoT Hub offre également des fonctionnalités de communication bidirectionnelle avec les appareils. Si vous recevez des données directement à partir d’appareils, mais que vous renvoyez également des commandes et des stratégies aux appareils, utilisez IoT Hub plutôt qu’Event Hubs.

  • Pour simplifier la solution, omettez les composants suivants :

    • Explorateur de données Azure
    • Power BI

Détails du scénario

Il existe de nombreuses possibilités pour travailler avec des données géospatiales, ou des informations qui incluent un composant géographique. Par exemple, les logiciels et les normes SIG (Geographic Information System) sont largement répandus. Ces technologies peuvent stocker, traiter et fournir l’accès à des données géospatiales. Toutefois, il est souvent difficile de configurer et de gérer les systèmes qui opèrent avec des données géospatiales. Vous avez également besoin de connaissances spéciales pour les intégrer à d’autres systèmes.

Cet article décrit une solution gérable pour mettre à disposition des volumes importants de données géospatiales à des fins d’analytique. L’approche est basée sur l’architecture de référence de l’analytique avancée et elle utilise les services Azure suivants :

  • Azure Databricks avec les bibliothèques GIS Spark traite les données
  • Azure Database pour PostgreSQL interroge les données que les utilisateurs demandent par le biais des API
  • Azure Data Explorer exécute des requêtes exploratoires rapides
  • Azure Maps crée des visuels de données géospatiales dans des applications web
  • La fonctionnalité de visuel Azure Maps de Power BI fournit des rapports personnalisés

Cas d’usage potentiels

Cette solution s’applique à de nombreux domaines :

  • Traitement, stockage et fourniture d’un accès à de grandes quantités de données raster, telles que des cartes ou des données climatiques
  • Identification de la position géographique des entités système ERP (Enterprise Resource Planning)
  • Combinaison de données d’emplacement d’entité et de données de référence GIS
  • Stockage de télémétrie IoT (Internet des objets) à partir d’appareils mobiles
  • Exécution de requêtes géospatiales analytiques
  • Incorporation de données géospatiales curées et contextuelles dans des applications web

Considérations

Les considérations suivantes, basées sur Microsoft Azure Well-Architected Framework, s’appliquent à cette solution.

Disponibilité

Extensibilité

L’implémentation de cette solution remplit les conditions suivantes :

  • Elle traite jusqu’à 10 millions de jeux de données par jour. Les jeux de données incluent des événements de lot ou de streaming
  • Elle stocke 100 millions de jeux de données dans une base de données Azure Database pour PostgreSQL
  • Elle interroge jusqu’à 1 million de jeux de données en même temps. Un maximum de 30 utilisateurs exécutent les requêtes

L’environnement utilise cette configuration :

  • Un cluster Azure Databricks avec quatre nœuds Worker F8s_V2
  • Une instance à mémoire optimisée d’Azure Database pour PostgreSQL
  • Un plan App Service avec deux instances S2 standard

Tenez compte des facteurs suivants pour déterminer les ajustements à apporter à votre implémentation :

  • Votre taux d’ingestion de données
  • Votre volume de données
  • Votre volume de requêtes
  • Le nombre de requêtes parallèles que vous devez prendre en charge

Vous pouvez mettre à l’échelle les composants Azure indépendamment :

La fonctionnalité de mise à l’échelle automatique de Monitor fournit également des fonctionnalités de mise à l’échelle. Vous pouvez configurer cette fonctionnalité de façon à ajouter des ressources pour gérer les augmentations de charge. Elle peut également supprimer des ressources afin d’économiser les coûts.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

  • Pour estimer le coût de l’implémentation de cette solution, consultez un exemple de profil de coût. Ce profil concerne une implémentation unique de l’environnement décrit dans Considérations relatives à la scalabilité. Il n’inclut pas le coût d’Azure Data Explorer.
  • Pour ajuster les paramètres et explorer le coût d’exécution de cette solution dans votre environnement, utilisez la Calculatrice de prix Azure.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Étapes suivantes

Documentation du produit :

Pour commencer à implémenter cette solution, consultez les informations suivantes :

Informations sur le traitement des données géospatiales