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
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.
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.
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.
Spark-clusters in Azure Databricks gebruiken georuimtelijke codebibliotheken om de gegevens te transformeren en te normaliseren.
Data Factory laadt de voorbereide vector- en rastergegevens in Azure Database for PostgreSQL. De oplossing maakt gebruik van de PostGIS-extensie voor deze database.
Data Factory laadt de voorbereide vector- en rastergegevens in Azure Data Explorer.
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.
De Web Apps functie van Azure App Service werkt met Azure Kaarten om visuals van de gegevens te maken.
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.
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:
- Azure Monitor registreert logboek- en prestatiegegevens en slaat deze op.
- Azure Monitor Metrische gegevens worden met regelmatige tussenpozen numerieke waarden verzameld.
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:
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
Event Hubs verspreidt foutrisico's over clusters.
- Gebruik een naamruimte met beschikbaarheidszones ingeschakeld om risico's te spreiden over drie fysiek gescheiden faciliteiten.
- Overweeg het gebruik van de functie voor geo-noodherstel van Event Hubs. Met deze functie wordt de volledige configuratie van een naamruimte gerepliceerd van een primaire naar een secundaire naamruimte.
Zie functies voor bedrijfscontinuïteit Azure Database for PostgreSQL biedt. Deze functies hebben betrekking op een scala aan hersteldoelstellingen.
App Service diagnostics waarschuwt u voor problemen in apps, zoals downtime. Gebruik deze service om problemen zoals storingen te identificeren, op te lossen en op te lossen.
Overweeg het gebruik App Service om een back-up te maken van toepassingsbestanden. Wees echter voorzichtig met back-upbestanden, die app-instellingen in tekst zonder tekst bevatten. Deze instellingen kunnen geheimen bevatten, zoals verbindingsreeksen.
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:
Event Hubs wordt automatisch omhoog geschaald om te voldoen aan de gebruiksbehoeften. Maar neem stappen om doorvoereenheden te beheren en partities te optimaliseren.
Data Factory verwerkt grote hoeveelheden gegevens. De serverloze architectuur ondersteunt parallellisme op verschillende niveaus.
Azure Database for PostgreSQL biedt hoogwaardige horizontale schaalbaarheid.
Azure Databricks clusters kunnen naar behoefte worden gesizeed.
Azure Data Explorer kunt in enkele minuten elastisch schalen naar terabytes aan gegevens.
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
Gegevens van vectortegels beveiligen. Vectortegels bevatten coördinaten en kenmerken voor meerdere entiteiten in één bestand. Als u vectortegels genereert, gebruikt u een toegewezen set tegels voor elk machtigingsniveau in uw toegangsbeheersysteem. Met deze methode hebben alleen gebruikers binnen elk machtigingsniveau toegang tot het gegevensbestand van dat niveau.
Als u de beveiliging wilt verbeteren, Key Vault in de volgende situaties gebruiken:
Zie Beveiliging in Azure App Service voor meer informatie over hoe App Service web-apps helpt beveiligen. Houd ook rekening met de volgende punten:
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:
Gerelateerde architecturen
- Big data-analyse met Azure Data Explorer
- Health Data Consortium in Azure
- DataOps voor het moderne datawarehouse
- Interactieve Azure Data Explorer-analyse
Verwante handleidingen
- Vergelijk de machine learning producten en technologieën van Microsoft - Azure Databricks
- MlOps-framework (Machine Learning Operations) voor het omhoog schalen van machine learning levenscyclus met Azure Machine Learning
- Azure Machine Learning-beslissingshandleiding voor de optimale selectie van hulpprogramma's
- Azure Databricks bewaken
Informatie over het verwerken van georuimtelijke gegevens
- Functies voor het uitvoeren van query's op PostGIS voor vectortegels
- Functies voor het laden van PostGIS-rasters
- Azure Data Explorer georuimtelijke functies
- Gegevensbronnen voor vectortegels in Azure Kaarten
- Benaderingen voor het verwerken van georuimtelijke gegevens in Databricks
Gerelateerde resources
- Verbinding maken WFS naar Azure Kaarten.
- OpenMapMap-gegevens verwerken met Spark.
- Manieren verkennen om gegevens weer te geven met Azure Kaarten.