Bearbeiten

Verarbeitung und Analysen von räumlichen Daten

Azure Data Factory
Azure Data Lake Storage
Azure Database for PostgreSQL
Azure Databricks
Azure Event Hubs

In diesem Artikel wird eine verwaltbare Lösung vorgestellt, mit der große Mengen von Geodaten für Analysen verfügbar gemacht werden können.

Aufbau

Architecture diagram showing how geospatial data flows through an Azure system. Various components receive, process, store, analyze, and publish the data.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Das Diagramm enthält mehrere graue Felder mit jeweils unterschiedlichen Bezeichnungen. Von links nach rechts sind das „Ingest“ (Erfassen), „Prepare“ (Aufbereiten), „Load“ (Laden), „Serve“ (Bereitstellen) und „Visualize and explore“ (Visualisieren und untersuchen). Das Feld darunter ist mit „Monitor and secure“ (Überwachen und schützen) beschriftet. Die einzelnen Felder enthalten jeweils Symbole, die verschiedene Azure-Dienste darstellen. Nummerierte Pfeile verbinden die Felder so wie in den Schritten der Diagrammerläuterung beschrieben.

Workflow

  1. Eingang von IoT-Daten beim System:

    • Azure Event Hubs erfasst IoT-Datenströme. Die Daten enthalten Koordinaten oder andere Informationen zur Identifizierung von Gerätestandorten.
    • Event Hubs verwendet Azure Databricks für die erste Streamverarbeitung.
    • Event Hubs speichert die Daten in Azure Data Lake Storage.
  2. Eingang von GIS-Daten beim System:

    • Azure Data Factory erfasst raster- und vektorbasierte GIS-Daten in einem beliebigen Format.

      • Rasterdaten bestehen aus Rastern von Werten. Jeder Pixelwert stellt ein Merkmal wie etwa die Temperatur oder Höhe eines geografischen Bereichs dar.
      • Vektordaten stellen bestimmte geografische Merkmale dar. Vertices (oder diskrete geometrische Standorte) bilden die Grundlage der Vektoren und definieren die Form des jeweiligen räumlichen Objekts.
    • Data Factory speichert die Daten in Data Lake Storage.

  3. Spark-Cluster in Azure Databricks verwenden Geocodebibliotheken, um die Daten zu transformieren und zu normalisieren.

  4. Data Factory lädt die aufbereiteten Vektor- und Rasterdaten in Azure Database for PostgreSQL. Die Lösung verwendet die PostGIS-Erweiterung mit dieser Datenbank.

  5. Data Factory lädt die aufbereiteten Vektor- und Rasterdaten in Azure Data Explorer.

  6. Azure Database for PostgreSQL speichert die GIS-Daten. APIs machen diese Daten in standardisierten Formaten verfügbar:

    • GeoJSON basiert auf JavaScript Object Notation (JSON). GeoJSON stellt einfache geografische Merkmale und deren nicht räumlichen Eigenschaften dar.
    • Well-Known Text (WKT) ist eine Textmarkupsprache zur Darstellung von Vektorgeometrieobjekten.
    • Vektorkacheln sind Pakete mit geografischen Daten. Das einfache Format trägt zur Verbesserung der Zuordnungsleistung bei.

    Eine Redis Cache-Instanz ermöglicht schnellen Zugriff auf die Daten und verbessert so die Leistung.

  7. Das Web-Apps-Feature von Azure App Service arbeitet mit Azure Maps zusammen, um die Daten zu visualisieren.

  8. Benutzer analysieren die Daten mit Azure Data Explorer. GIS-Features dieses Tools ermöglichen die Erstellung aufschlussreicher Visualisierungen. Ein Beispiel hierfür wären etwa geodatenbasierte Punktdiagramme.

  9. Power BI stellt benutzerdefinierte Berichte und Business Intelligence (BI) bereit. Das Azure Maps-Visual für Power BI hebt die Rolle von Standortdaten in Geschäftsergebnissen hervor.

Abläufe während des gesamten Prozesses:

  • Azure Monitor erfasst Informationen zu Ereignissen und zur Leistung.
  • Log Analytics führt Abfragen für Monitor-Protokolle aus und analysiert die Ergebnisse.
  • Azure Key Vault schützt Kennwörter, Verbindungszeichenfolgen und Geheimnisse.

Komponenten

  • Azure Event Hubs ist eine vollständig verwaltete Streamingplattform für Big Data. Diese PaaS-Lösung (Platform-as-a-Service) bietet ein partitioniertes Consumermodell. Dieses Modell kann von mehreren Anwendungen gleichzeitig zur Verarbeitung des Datenstroms genutzt werden.

  • Azure Data Factory ist ein Integrationsdienst, der mit Daten aus disparaten Datenspeichern arbeitet. Diese vollständig verwaltete, serverlose Plattform ermöglicht das Erstellen, Planen und Orchestrieren von Datentransformationsworkflows.

  • Azure Databricks ist eine Datenanalyseplattform. Von den vollständig verwalteten Spark-Clustern der Plattform werden große Datenströme aus mehreren Quellen verarbeitet. Azure Databricks kann Geodaten in großem Umfang für Analysen und Datenvisualisierungen transformieren.

  • Data Lake Storage ist ein skalierbarer und sicherer Data Lake für Hochleistungs-Analyseworkloads. Dieser Dienst kann mehrere Petabyte an Informationen verwalten und gleichzeitig Hunderte von Gigabyte an Durchsatz aufrechterhalten. Die Daten stammen in der Regel aus mehreren heterogenen Quellen und können strukturiert, teilweise strukturiert oder unstrukturiert sein.

  • Azure Database for PostgreSQL ist ein vollständig verwalteter relationaler Datenbankdienst, der auf der PostgreSQL-Datenbank-Engine (Community Edition) basiert.

  • PostGIS ist eine in GIS-Server integrierbare Erweiterung für die PostgreSQL-Datenbank. Von PostGIS können SQL-Standortabfragen mit geografischen Objekten ausgeführt werden.

  • Redis ist ein Open-Source-basierter In-Memory-Datenspeicher. Von Redis Cache-Instanzen werden häufig verwendete Daten im Arbeitsspeicher des Servers vorgehalten. Dies ermöglicht die schnelle Verarbeitung großer Mengen von Anwendungsanforderungen mit diesen Daten.

  • Power BI ist eine Sammlung von Softwarediensten und Apps. Mithilfe von Power BI lassen sich unzusammenhängende Datenquellen miteinander verbinden und entsprechende Visualisierungen erstellen.

  • Das Azure Maps-Visual in Power BI ermöglicht es Ihnen, Karten mit räumlichen Daten zu erweitern. Dadurch können Sie zeigen, wie sich Standortdaten auf Geschäftsmetriken auswirken.

  • Azure App Service und das zugehörige Web-Apps-Feature stellen ein Framework zum Erstellen, Bereitstellen und Skalieren von Web-Apps bereit. Die App Service-Plattform bietet eine integrierte Infrastrukturverwaltung, Sicherheitspatches und Skalierung.

  • GIS-Daten-APIs in Azure Maps ermöglichen das Speichern und Abrufen von Kartendaten in Formaten wie GeoJSON und Vektorkacheln.

  • Azure Data Explorer ist ein schneller, vollständig verwalteter und für große Datenmengen geeigneter Datenanalysedienst. Dieser Dienst war ursprünglich auf Zeitreihen und Protokollanalysen ausgerichtet. Inzwischen kann der Dienst verschiedene Datenströme von Anwendungen, Websites, IoT-Geräten und anderen Quellen verarbeiten. Geofunktionen in Azure Data Explorer bieten Optionen zum Rendern von Kartendaten.

  • Azure Monitor erfasst Daten zu Umgebungen und Azure-Ressourcen. Diese Diagnoseinformationen sind hilfreich, um Verfügbarkeit und Leistung sicherzustellen. Monitor besteht aus zwei Datenplattformen:

  • Log Analytics ist ein Tool im Azure-Portal zum Ausführen von Abfragen für Monitor-Protokolldaten. Darüber hinaus bietet Log Analytics Features zum Erstellen von Diagrammen sowie für statistische Analysen von Abfrageergebnissen.

  • Key Vault speichert Geheimnisse wie Token, Kennwörter und API-Schlüssel und steuert den Zugriff auf diese Geheimnisse. Key Vault dient außerdem dem Erstellen und Steuern von Verschlüsselungsschlüsseln sowie dem Verwalten von Sicherheitszertifikaten.

Alternativen

  • Eine mögliche Alternative zur Entwicklung eigener APIs ist Martin. Dieser Open-Source-Kachelserver macht Vektorkacheln für Web-Apps verfügbar. Martin ist in Rust geschrieben, stellt eine Verbindung mit PostgreSQL-Tabellen her und kann als Container bereitgestellt werden.

  • Wenn Sie eine standardisierte Schnittstelle für GIS-Daten bereitstellen möchten, empfiehlt sich ggf. die Verwendung von GeoServer. Dieses offene Framework implementiert branchenübliche OGC-Protokolle (Open Geospatial Consortium) wie etwa Web Feature Service (WFS). Außerdem lässt es sich in allgemeine Datenquellen mit räumlichen Daten integrieren. GeoServer kann als Container auf einem virtuellen Computer bereitgestellt werden. Wenn benutzerdefinierte Web-Apps und explorative Abfragen zweitrangig sind, stellt GeoServer eine einfache Möglichkeit zum Veröffentlichen von Geodaten dar.

  • Für die Arbeit mit Geodaten in Azure Databricks stehen verschiedene Spark-Bibliotheken zur Verfügung. In dieser Lösung werden folgende Bibliotheken verwendet:

    Es gibt jedoch auch noch andere Lösungen für die Verarbeitung und Skalierung von Geoworkloads mit Azure Databricks.

  • Vektorkacheln sind eine effiziente Möglichkeit für die Anzeige von GIS-Daten auf Karten. In dieser Lösung wird PostGIS verwendet, um Vektorkacheln dynamisch abzufragen. Dieser Ansatz eignet sich gut für einfache Abfragen und Resultsets mit deutlich weniger als einer Million Datensätze. In folgenden Fällen ist jedoch möglicherweise ein anderer Ansatz besser:

    • Rechenintensive Abfragen
    • Seltene Datenänderungen
    • Anzeige großer Datensätze

    In diesen Fällen empfiehlt sich ggf. die Verwendung von Tippecanoe für die Generierung von Vektorkacheln. Tippecanoe kann im Rahmen Ihres Datenverarbeitungsflows ausgeführt werden – entweder als Container oder mit Azure Functions. Die resultierenden Kacheln können über APIs verfügbar gemacht werden.

  • Azure IoT Hub ist genau wie Event Hubs für die Erfassung großer Datenmengen geeignet. Aber IoT Hub bietet auch Funktionen für die bidirektionale Kommunikation mit Geräten. Wenn Sie Daten direkt von Geräten empfangen sowie Befehle und Richtlinien an Geräte zurücksenden, sollten Sie ggf. IoT Hub anstelle von Event Hubs verwenden.

  • Zur Optimierung der Lösung können folgende Komponenten weggelassen werden:

    • Azure-Daten-Explorer
    • Power BI

Szenariodetails

Es gibt viele Möglichkeiten für die Nutzung von Geodaten oder von Informationen, die eine geografische Komponente enthalten. GIS-Software (geografisches Informationssystem) und entsprechende Standards sind beispielsweise weit verbreitet. Diese Technologien können Geodaten speichern, verarbeiten und den Zugriff auf solche Daten ermöglichen. Systeme, die mit Geodaten arbeiten, sind jedoch häufig nicht leicht zu konfigurieren und zu verwalten. Und für die Integration dieser Systeme in andere Systeme ist entsprechendes Fachwissen vonnöten.

In diesem Artikel wird eine verwaltbare Lösung vorgestellt, mit der große Mengen von Geodaten für Analysen verfügbar gemacht werden können. Der Ansatz basiert auf der erweiterten Analysearchitektur und umfasst die folgenden Azure-Dienste:

  • Azure Databricks mit GIS-Spark-Bibliotheken für die Datenverarbeitung
  • Azure Database for PostgreSQL zum Abfragen der Daten, die von Benutzern über APIs angefordert werden
  • Azure Data Explorer für schnelle explorative Abfragen
  • Azure Maps zum Visualisieren von Geodaten in Webanwendungen
  • Azure Maps-Visual in Power BI für benutzerdefinierte Berichte

Mögliche Anwendungsfälle

Diese Lösung eignet sich für viele Bereiche:

  • Verarbeiten, Speichern und Ermöglichen des Zugriffs auf große Mengen von Rasterdaten (beispielsweise Karten oder Klimadaten)
  • Ermitteln der geografischen Position von ERP-Systementitäten (Enterprise Resource Planning)
  • Kombinieren von Entitätsstandortdaten mit GIS-Referenzdaten
  • Speichern von IoT-Telemetriedaten (Internet of Things, Internet der Dinge) von mobilen Geräten
  • Ausführen analytischer Geoabfragen
  • Einbetten zusammengestellter und kontextualisierter Geodaten in Web-Apps

Überlegungen

Für diese Lösung gelten auf Grundlage von Microsoft Azure Well-Architected Framework die folgenden Überlegungen.

Verfügbarkeit

Skalierbarkeit

Die Implementierung dieser Lösung erfüllt folgende Bedingungen:

  • Sie verarbeitet bis zu 10 Millionen Datensätze pro Tag. Die Datasets enthalten Batch- oder Streamingereignisse.
  • Sie speichert 100 Millionen Datensätze in einer Azure Database for PostgreSQL-Datenbank.
  • Sie fragt gleichzeitig bis zu einer Million Datensätze ab. Die Abfragen werden von maximal 30 Benutzern ausgeführt.

Für die Umgebung wird folgende Konfiguration verwendet:

  • Ein Azure Databricks-Cluster mit vier Workerknoten vom Typ „F8s_V2“
  • Eine speicheroptimierte Instanz von Azure Database for PostgreSQL
  • Ein App Service-Plan mit zwei Standard-Instanzen (S2).

Berücksichtigen Sie bei der Bestimmung der nötigen Anpassungen für Ihre Implementierung die folgenden Faktoren:

  • Ihre Datenerfassungsrate
  • Ihr Datenvolumen
  • Ihr Abfragevolumen
  • Die Anzahl paralleler Abfragen, die unterstützt werden muss

Azure-Komponenten können unabhängig voneinander skaliert werden:

Das Autoskalierungsfeature von Monitor bietet ebenfalls Skalierungsfunktionen. Durch Konfigurieren dieses Features können bei zunehmender Last Ressourcen hinzugefügt werden. Außerdem können Ressourcen entfernt werden, um Geld zu sparen.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

  • Um die Kosten der Implementierung dieser Lösung abschätzen zu können, steht ein exemplarisches Kostenprofil zur Verfügung. Dieses Profil gilt für eine einzelne Implementierung der unter Überlegungen zur Skalierbarkeit beschriebenen Umgebung. Die Kosten für Azure Data Explorer sind darin nicht enthalten.
  • Mithilfe des Azure-Preisrechners können Sie die Parameter anpassen und die Ausführungskosten dieser Lösung in Ihrer Umgebung untersuchen.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Nächste Schritte

Produktdokumentation:

Informationen zum Einstieg in die Implementierung dieser Lösung finden Sie hier:

Informationen zur Verarbeitung von Geodaten