Georuimtelijke gegevensverwerking en -analyse

Data Factory
Data Lake Storage
Database for PostgreSQL
Databricks
Event Hubs
Maps
Web Apps

Er bestaan veel mogelijkheden voor het werken met georuimtelijke gegevens of informatie die een geografisch onderdeel bevat. Geo-informatiesysteemsoftware en -standaarden zijn bijvoorbeeld algemeen beschikbaar. Met deze technologieën kunnen georuimtelijke gegevens worden opgeslagen, verwerkt en toegankelijk zijn. Maar het is vaak moeilijk om systemen te configureren en te onderhouden die werken met georuimtelijke gegevens. U hebt ook deskundige kennis nodig om deze systemen te integreren met andere systemen.

Dit artikel bevat een overzicht van een beheerbare oplossing voor het beschikbaar maken van grote hoeveelheden georuimtelijke gegevens voor analyse. De aanpak is gebaseerd op Advanced Analytics Reference Architecture en maakt gebruik van deze Azure-services:

  • Azure Databricks met GIS Spark-bibliotheken worden gegevens verwerkt.
  • Azure Database for PostgreSQL query's uitvoeren op gegevens die gebruikers aanvragen via API's.
  • Azure Data Explorer voert snel verkennende query's uit.
  • Azure Kaarten maakt visuals van georuimtelijke gegevens in webtoepassingen.
  • De azure Kaarten Power BI visuele functie van Power BI biedt aangepaste rapporten.

Potentiële gebruikscases

Deze oplossing is van toepassing op veel gebieden:

  • Verwerken, opslaan en toegang bieden tot grote hoeveelheden rastergegevens, zoals kaarten of klimaatgegevens.
  • De geografische positie van enterprise resource planning (ERP)-systeementiteiten identificeren.
  • Entiteitslocatiegegevens combineren met GIS-referentiegegevens.
  • Het Internet of Things (IoT)-telemetrie van bewegende apparaten.
  • Analytische georuimtelijke query's uitvoeren.
  • Gecureerde en gecontextualiseerde georuimtelijke gegevens insluiten in web-apps.

Architectuur

Architectuurdiagram waarin wordt weergegeven hoe georuimtelijke gegevens door een Azure-systeem stromen. Verschillende onderdelen ontvangen, verwerken, opslaan, analyseren en publiceren van de gegevens.

Het diagram bevat verschillende grijze vakken, elk met een ander label. Van links naar rechts zijn de labels Opnemen, Voorbereiden, Laden, Bedienen en Visualiseren en verkennen. Een laatste vak onder de andere vak heeft het label Bewaken en beveiligen. Elk vak bevat pictogrammen die verschillende Azure-services vertegenwoordigen. Genummerde pijlen verbinden de vakken op de manier die in de stappen in de uitleg van het diagram wordt beschreven.

  1. IoT-gegevens komen in het systeem:

    • Azure Event Hubs gegevensstromen IoT-gegevens opnemen. De gegevens bevatten coördinaten of andere informatie die locaties van apparaten identificeert.
    • Event Hubs maakt gebruik Azure Databricks voor de initiële verwerking van stromen.
    • Event Hubs slaat de gegevens op in Azure Data Lake Storage.
  2. GIS-gegevens komen in het systeem:

    • Azure Data Factory raster-GIS-gegevens en vector-GIS-gegevens van elke indeling op.

      • Rastergegevens bestaan uit rasters met waarden. Elke pixelwaarde vertegenwoordigt een kenmerk zoals de temperatuur of verhoging van een geografisch gebied.
      • Vectorgegevens vertegenwoordigen specifieke geografische kenmerken. Hoekpunten, of discrete geometrische locaties, vormen de vectoren en definiëren de vorm van elk ruimtelijk object.
    • Data Factory slaat de gegevens op in Data Lake Storage.

  3. Spark-clusters in Azure Databricks gebruiken georuimtelijke codebibliotheken om de gegevens te transformeren en te normaliseren.

  4. Data Factory laadt de voorbereide vector- en rastergegevens in Azure Database for PostgreSQL. De oplossing maakt gebruik van de PostGIS-extensie voor deze database.

  5. Data Factory laadt de voorbereide vector- en rastergegevens in Azure Data Explorer.

  6. Azure Database for PostgreSQL de GIS-gegevens op. API's maken deze gegevens beschikbaar in gestandaardiseerde indelingen:

    • GeoJSON is gebaseerd op JavaScript Object Notation (JSON). GeoJSON vertegenwoordigt eenvoudige geografische kenmerken en hun niet-ruimtelijke eigenschappen.
    • Well-known text (WKT) is een tekst markup-taal die vectorgeometrieobjecten vertegenwoordigt.
    • Vectortegels zijn pakketten met geografische gegevens. De lichtgewicht indeling verbetert de toewijzingsprestaties.

    Een Redis-cache verbetert de prestaties door snelle toegang tot de gegevens te bieden.

  7. De Web Apps functie van Azure App Service werkt met Azure Kaarten om visuals van de gegevens te maken.

  8. Gebruikers analyseren de gegevens met Azure Data Explorer. Met de GIS-functies van dit hulpprogramma kunt u inzichtelijke visualisaties maken. Voorbeelden hiervan zijn het maken van spreidingsdiagram uit georuimtelijke gegevens.

  9. Power BI biedt aangepaste rapporten en business intelligence (BI). De Azure Kaarten visual voor Power BI de rol van locatiegegevens in bedrijfsresultaten.

Tijdens het hele proces:

  • Azure Monitor verzamelt informatie over gebeurtenissen en prestaties.
  • Log Analytics voert query's uit op Monitor-logboeken en analyseert de resultaten.
  • Azure Key Vault beveiligt wachtwoorden, verbindingsreeksen en geheimen.

Onderdelen

  • Event Hubs is een volledig beheerd streamingplatform voor big data. Deze platform as a service (PaaS) biedt een gepartitief consumentenmodel. Meerdere toepassingen kunnen dit model gebruiken om de gegevensstroom op hetzelfde moment te verwerken.

  • Data Factory is een integratieservice die werkt met gegevens uit verschillende gegevensopslag. U kunt dit volledig beheerde, serverloze platform gebruiken om werkstromen voor gegevenstransformatie te maken, plannen en in te delen.

  • Azure Databricks is een platform voor gegevensanalyse. De volledig beheerde Spark-clusters verwerken grote gegevensstromen uit meerdere bronnen. Azure Databricks kunt georuimtelijke gegevens op grote schaal transformeren voor gebruik in analyses en gegevensvisualisatie.

  • Data Lake Storage is een schaalbare en veilige data lake voor analyseworkloads met hoge prestaties. Deze service kan meerdere petabytes aan informatie beheren en tegelijkertijd honderden gigabits aan doorvoer ondersteunen. De gegevens zijn doorgaans afkomstig uit meerdere, heterogene bronnen en kunnen gestructureerd, semi-gestructureerd of ongestructureerd zijn.

  • Azure Database for PostgreSQL is een volledig beheerde relationele databaseservice die is gebaseerd op de community-editie van de opensource PostgreSQL-database-engine.

  • PostGIS is een extensie voor de PostgreSQL-database die kan worden geïntegreerd met GIS-servers. PostGIS kan SQL locatiequery's uitvoeren die betrekking hebben op geografische objecten.

  • Redis is een opensource-gegevensopslag in het geheugen. Redis-caches houden veelgebruikte gegevens in het servergeheugen. De caches kunnen vervolgens snel grote hoeveelheden toepassingsaanvragen verwerken die gebruikmaken van de gegevens.

  • Power BI is een verzameling softwareservices en apps. U kunt Power BI niet-gerelateerde gegevensbronnen verbinden en er visuals van maken.

  • De Azure Kaarten visual voor Power BI biedt een manier om kaarten te verbeteren met ruimtelijke gegevens. U kunt deze visual gebruiken om te laten zien hoe locatiegegevens van invloed zijn op zakelijke metrische gegevens.

  • App Service en de Web Apps bieden een framework voor het bouwen, implementeren en schalen van web-apps. Het App Service platform biedt ingebouwd infrastructuuronderhoud, beveiligingspatching en schalen.

  • GIS-gegevens-API's in Azure Kaarten kaartgegevens op te slaan en op te halen in indelingen zoals GeoJSON en vectortegels.

  • Azure Data Explorer is een snelle, volledig beheerde service voor gegevensanalyse die kan werken met grote hoeveelheden gegevens. Deze service was oorspronkelijk gericht op tijdreeksen en logboekanalyse. Het verwerkt nu ook diverse gegevensstromen van toepassingen, websites, IoT-apparaten en andere bronnen. Georuimtelijke functionaliteit in Azure Data Explorer biedt opties voor het weergeven van kaartgegevens.

  • Monitor verzamelt gegevens over omgevingen en Azure-resources. Deze diagnostische informatie is handig voor het behouden van beschikbaarheid en prestaties. Twee gegevensplatforms zijn monitor:

  • Log Analytics is een Azure Portal waarmee query's worden uitgevoerd op monitorlogboekgegevens. Log Analytics biedt ook functies voor het in kaart brengen en statistisch analyseren van queryresultaten.

  • Key Vault kunt de toegang tot geheimen zoals tokens, wachtwoorden en API-sleutels opslaan en beheren. Key Vault maakt en beheert ook versleutelingssleutels en beheert beveiligingscertificaten.

Alternatieven

  • In plaats van uw eigen API's te ontwikkelen, kunt u overwegen martin te gebruiken. Deze opensource-tegelserver maakt vectortegels beschikbaar voor web-apps. Geschreven in Rustmaakt Martin verbinding met PostgreSQL-tabellen. U kunt deze implementeren als een container.

  • Als u een gestandaardiseerde interface voor GIS-gegevens wilt bieden, kunt u GeoServer gebruiken. Dit open framework implementeert STANDAARD-OPEN GEOSPATIAL CONSORTIUM(OGC)-protocollen, zoals Web Feature Service (WFS). Het kan ook worden geïntegreerd met algemene ruimtelijke gegevensbronnen. U kunt GeoServer implementeren als een container op een virtuele machine. Wanneer aangepaste web-apps en verkennende query's secundair zijn, biedt GeoServer een eenvoudige manier om georuimtelijke gegevens te publiceren.

  • Er zijn verschillende Spark-bibliotheken beschikbaar voor het werken met georuimtelijke gegevens op Azure Databricks. Deze oplossing maakt gebruik van de volgende bibliotheken:

    Maar er bestaan ook andere oplossingen voor het verwerken en schalen van georuimtelijke workloads met Azure Databricks.

  • Vectortegels bieden een efficiënte manier om GIS-gegevens weer te geven op kaarten. Deze oplossing maakt gebruik van PostGIS om dynamisch query's uit te voeren op vectortegels. Deze aanpak werkt goed voor eenvoudige query's en resultatensets die meer dan 1 miljoen records bevatten. Maar in de volgende gevallen is een andere benadering mogelijk beter:

    • Uw query's zijn duur in rekenkracht.
    • Uw gegevens worden niet regelmatig gewijzigd.
    • U geeft grote gegevenssets weer.

    In deze situaties kunt u tippecanoe gebruiken om vectortegels te genereren. U kunt Tippecanoe uitvoeren als onderdeel van uw gegevensverwerkingsstroom, als een container of met Azure Functions. U kunt de resulterende tegels beschikbaar maken via API's.

  • Net Event Hubs kunnen Azure IoT Hub grote hoeveelheden gegevens opnemen. Maar IoT Hub biedt ook bi-directionele communicatiemogelijkheden met apparaten. Als u gegevens rechtstreeks van apparaten ontvangt, maar ook opdrachten en beleid terug naar apparaten verzendt, kunt u IoT Hub in plaats van Event Hubs.

  • Als u de oplossing wilt stroomlijnen, laat u deze onderdelen weg:

    • Azure Data Explorer
    • Power BI

Overwegingen

De volgende overwegingen, op basis van het Microsoft Azure Well-Architected Framework,zijn van toepassing op deze oplossing:

Beschikbaarheidsoverwegingen

Schaalbaarheidsoverwegingen

De implementatie van deze oplossing voldoet aan de volgende voorwaarden:

  • Verwerkt maximaal 10 miljoen gegevenssets per dag. De gegevenssets bevatten batch- of streaminggebeurtenissen.
  • Slaat 100 miljoen gegevenssets op in een Azure Database for PostgreSQL database.
  • Query's uitvoeren op 1 miljoen of minder gegevenssets tegelijk. De query's worden door maximaal 30 gebruikers uitgevoerd.

De omgeving maakt gebruik van deze configuratie:

  • Een Azure Databricks cluster met vier F8s_V2 werkknooppunten.
  • Een voor geheugen geoptimaliseerd exemplaar van Azure Database for PostgreSQL.
  • Een App Service plan met twee Standard S2-exemplaren.

Houd rekening met deze factoren om te bepalen welke aanpassingen moeten worden aangebracht voor uw implementatie:

  • De opnamesnelheid van uw gegevens.
  • Uw gegevensvolume.
  • Uw queryvolume.
  • Het aantal parallelle query's dat u moet ondersteunen.

U kunt Azure-onderdelen onafhankelijk schalen:

De functie voor automatisch schalen van Monitor biedt ook schaalfunctionaliteit. U kunt deze functie configureren om resources toe te voegen voor het afhandelen van een toename van de belasting. Het kan ook resources verwijderen om geld te besparen.

Beveiligingsoverwegingen

Prijzen

  • Zie een voorbeeld van een kostenprofiel voor een schatting van de kosten voor het implementeren van deze oplossing. Dit profiel is voor één implementatie van de omgeving die wordt beschreven in Overwegingen voor schaalbaarheid. Dit omvat niet de kosten van Azure Data Explorer.
  • Gebruik de Azure-prijscalculator om de parameters aan te passen en de kosten voor het uitvoeren van deze oplossing in uw omgeving te verkennen.

Volgende stappen

Als u wilt beginnen met het implementeren van deze oplossing, bekijkt u deze informatie:

Informatie over het verwerken van georuimtelijke gegevens