In dit artikel wordt een beheerbare oplossing beschreven voor het beschikbaar maken van grote hoeveelheden georuimtelijke gegevens voor analyse.
Architectuur
Download een Visio-bestand van deze architectuur.
Het diagram bevat verschillende grijze vakken, elk met een ander label. Van links naar rechts worden de labels opgenomen, voorbereiden, laden, serveren en visualiseren en verkennen. Een laatste vak onder de anderen heeft het label Bewaken en beveiligen. Elk vak bevat pictogrammen die verschillende Azure-services vertegenwoordigen. Genummerde pijlen verbinden de vakken op de manier waarop de stappen in de diagramuitleg worden beschreven.
Workflow
IoT-gegevens voeren het systeem in:
- Azure Event Hubs neemt stromen ioT-gegevens op. De gegevens bevatten coördinaten of andere informatie die locaties van apparaten identificeert.
- Event Hubs maakt gebruik van Azure Databricks voor de eerste stroomverwerking.
- Event Hubs slaat de gegevens op in Azure Data Lake Storage.
GIS-gegevens voeren het systeem in:
Azure Data Factory neemt 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 normaliseren.
Data Factory laadt de voorbereide vector- en rastergegevens in Azure Database for PostgreSQL. De oplossing maakt gebruik van de PostGIS-extensie met deze database.
Data Factory laadt de voorbereide vector- en rastergegevens in Azure Data Explorer.
Azure Database for PostgreSQL slaat 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.
- Bekende tekst (WKT) is een tekstmarkeringstaal 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 functie Web Apps van Azure-app Service werkt met Azure Kaarten om visuals van de gegevens te maken.
Gebruikers analyseren de gegevens met Azure Data Explorer. GIS-functies van dit hulpprogramma maken inzichtelijke visualisaties. Voorbeelden hiervan zijn het maken van spreidingsdiagrammen op basis van georuimtelijke gegevens.
Power BI biedt aangepaste rapporten en business intelligence (BI). De Azure Kaarten-visual voor Power BI markeert de rol van locatiegegevens in bedrijfsresultaten.
Gedurende het hele proces:
- Azure Monitor verzamelt informatie over gebeurtenissen en prestaties.
- Log Analytics voert query's uit in logboeken bewaken en analyseert de resultaten.
- Azure Key Vault beveiligt wachtwoorden, verbindingsreeks s en geheimen.
Onderdelen
Azure Event Hubs is een volledig beheerd streamingplatform voor big data. Dit Platform as a Service (PaaS) biedt een gepartitioneerd consumentenmodel. Meerdere toepassingen kunnen dit model gebruiken om de gegevensstroom tegelijkertijd te verwerken.
Azure Data Factory is een integratieservice die werkt met gegevens uit verschillende gegevensarchieven. U kunt dit volledig beheerde, serverloze platform gebruiken om werkstromen voor gegevenstransformatie te maken, plannen en organiseren.
Azure Databricks is een platform voor gegevensanalyse. De volledig beheerde Spark-clusters verwerken grote gegevensstromen uit meerdere bronnen. Azure Databricks kan georuimtelijke gegevens op grote schaal transformeren voor gebruik in analyse en gegevensvisualisatie.
Data Lake Storage is een schaalbare en veilige Data Lake voor high-performance analyseworkloads. Deze service kan meerdere petabytes aan informatie beheren terwijl honderden gigabits aan doorvoer worden ondersteund. De gegevens zijn doorgaans afkomstig van 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-gegevensarchief in het geheugen. Redis-caches behouden veelgebruikte gegevens in 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 gebruiken om niet-gerelateerde gegevensbronnen te verbinden en visuals ervan te maken.
De Azure Kaarten-visual voor Power BI biedt een manier om kaarten met ruimtelijke gegevens te verbeteren. U kunt deze visual gebruiken om te laten zien hoe locatiegegevens van invloed zijn op metrische zakelijke gegevens.
Azure-app Service en de web-apps-functie 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 opslaan en ophalen in indelingen zoals GeoJSON en vectortegels.
Azure Data Explorer is een snelle, volledig beheerde gegevensanalyseservice die kan werken met grote hoeveelheden gegevens. Deze service was oorspronkelijk gericht op tijdreeksen en Log Analytics. 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.
Azure Monitor verzamelt gegevens over omgevingen en Azure-resources. Deze diagnostische informatie is handig voor het onderhouden van beschikbaarheid en prestaties. Twee gegevensplatformen vormen Monitor:
- Azure Monitor Registreert logboeken en slaat logboek- en prestatiegegevens op.
- Metrische gegevens van Azure Monitor verzamelen numerieke waarden met regelmatige tussenpozen.
Log Analytics is een Azure Portal-hulpprogramma waarmee query's worden uitgevoerd op logboekgegevens van Monitor. Log Analytics biedt ook functies voor grafieken en het statistisch analyseren van queryresultaten.
Key Vault slaat de toegang tot geheimen, zoals tokens, wachtwoorden en API-sleutels, op en beheert deze. 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 Rust maakt Martin verbinding met PostgreSQL-tabellen. U kunt deze implementeren als een container.
Als u een gestandaardiseerde interface voor GIS-gegevens wilt bieden, kunt u overwegen GeoServer te gebruiken. Met dit open framework worden standaard OPEN Georuimteal Consortium-protocollen (OGC) geïmplementeerd, zoals WFS (Web Feature Service). Het integreert ook 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 in Azure Databricks. Deze oplossing maakt gebruik van deze bibliotheken:
Vectortegels bieden een efficiënte manier om GIS-gegevens weer te geven op kaarten. Deze oplossing maakt gebruik van PostGIS om dynamisch queryvectortegels uit te voeren. Deze benadering werkt goed voor eenvoudige query's en resultatensets die goed minder dan 1 miljoen records bevatten. Maar in de volgende gevallen is een andere benadering mogelijk beter:
- Uw query's zijn rekenkracht duur.
- Uw gegevens worden niet regelmatig gewijzigd.
- U geeft grote gegevenssets weer.
In deze situaties kunt u Tippeopgegevene gebruiken om vectortegels te genereren. U kunt Tippe navigatee uitvoeren als onderdeel van uw gegevensverwerkingsstroom, als een container of met Azure Functions. U kunt de resulterende tegels beschikbaar maken via API's.
Net als Event Hubs kan Azure IoT Hub grote hoeveelheden gegevens opnemen. Maar IoT Hub biedt ook bidirectionele communicatiemogelijkheden met apparaten. Als u gegevens rechtstreeks van apparaten ontvangt, maar ook opdrachten en beleidsregels naar apparaten verzendt, kunt u IoT Hub overwegen in plaats van Event Hubs.
Als u de oplossing wilt stroomlijnen, laat u deze onderdelen weg:
- Azure Data Explorer
- Power BI
Scenariodetails
Er zijn veel mogelijkheden voor het werken met georuimtelijke gegevens of informatie die een geografisch onderdeel bevat. Zo zijn software en standaarden voor geografische informatiesystemen (GIS) algemeen beschikbaar. Deze technologieën kunnen georuimtelijke gegevens opslaan, verwerken en bieden. 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.
In dit artikel wordt een beheerbare oplossing beschreven voor het beschikbaar maken van grote hoeveelheden georuimtelijke gegevens voor analyse. De benadering is gebaseerd op advanced analytics-referentiearchitectuur en maakt gebruik van deze Azure-services:
- Azure Databricks met GIS Spark-bibliotheken verwerken gegevens.
- Azure Database for PostgreSQL voert query's uit op gegevens die gebruikers aanvragen via API's.
- Azure Data Explorer voert snelle verkennende query's uit.
- Azure Kaarten maakt visuals van georuimtelijke gegevens in webtoepassingen.
- De Visual-functie van Azure Kaarten power BI 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 ERP-systeementiteiten (Enterprise Resource Planning) identificeren.
- Entiteitslocatiegegevens combineren met GIS-referentiegegevens.
- Het opslaan van IoT-telemetrie (Internet of Things) van het verplaatsen van apparaten.
- Analytische georuimtelijke query's uitvoeren.
- Gecureerde en contextuele georuimtelijke gegevens insluiten in web-apps.
Overwegingen
De volgende overwegingen, op basis van het Microsoft Azure Well-Architected Framework, zijn van toepassing op deze oplossing.
Beschikbaarheid
Event Hubs verspreidt het risico op fouten in clusters.
- Gebruik een naamruimte met beschikbaarheidszones die zijn ingeschakeld om risico's te verspreiden 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.
Bekijk functies voor bedrijfscontinuïteit die Azure Database for PostgreSQL biedt. Deze functies hebben betrekking op een reeks hersteldoelstellingen.
Diagnostische gegevens van App Service geven u een waarschuwing over problemen in apps, zoals downtime. Gebruik deze service om problemen zoals storingen te identificeren, op te lossen en op te lossen.
Overweeg het gebruik van App Service om een back-up te maken van toepassingsbestanden. Maar wees voorzichtig met back-upbestanden, waaronder app-instellingen in tekst zonder opmaak. Deze instellingen kunnen geheimen bevatten, zoals verbindingsreeks s.
Schaalbaarheid
De implementatie van deze oplossing voldoet aan deze voorwaarden:
- Verwerkt maximaal 10 miljoen gegevenssets per dag. De gegevenssets bevatten batchgebeurtenissen of streaminggebeurtenissen.
- Slaat 100 miljoen gegevenssets op in een Azure Database for PostgreSQL-database.
- Query's uitvoeren op 1 miljoen of minder gegevenssets tegelijk. Maximaal 30 gebruikers voeren de query's uit.
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 u moet aanbrengen voor uw implementatie:
- De opnamesnelheid van uw gegevens.
- Uw hoeveelheid gegevens.
- Het queryvolume.
- Het aantal parallelle query's dat u moet ondersteunen.
U kunt Azure-onderdelen onafhankelijk schalen:
Event Hubs wordt automatisch opgeschaald om te voldoen aan de gebruiksbehoeften. Maar voer stappen uit 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 horizontaal schalen met hoge prestaties.
Het formaat van Azure Databricks-clusters wordt zo nodig aangepast.
Azure Data Explorer kan in enkele minuten elastisch worden geschaald naar terabytes aan gegevens.
De functie voor automatisch schalen van Monitor biedt ook schaalfunctionaliteit. U kunt deze functie configureren om resources toe te voegen om de toename van de belasting af te handelen. Het kan ook resources verwijderen om geld te besparen.
Beveiliging
Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie Overzicht van de beveiligingspijler voor meer informatie.
Vectortegelgegevens beveiligen. Vectortegels sluiten coördinaten en kenmerken in voor meerdere entiteiten in één bestand. Als u vectortegels genereert, gebruikt u een speciale set tegels voor elk machtigingsniveau in uw toegangsbeheersysteem. Met deze benadering hebben alleen gebruikers binnen elk machtigingsniveau toegang tot het gegevensbestand van dat niveau.
Gebruik Key Vault in deze situaties om de beveiliging te verbeteren:
Zie Beveiliging in Azure-app Service voor informatie over hoe App Service helpt web-apps te beveiligen. Houd ook rekening met deze punten:
Kostenoptimalisatie
Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.
- Als u de kosten voor het implementeren van deze oplossing wilt schatten, raadpleegt u een voorbeeld van een kostenprofiel. Dit profiel is bedoeld voor één implementatie van de omgeving die wordt beschreven in overwegingen voor schaalbaarheid. Dit omvat niet de kosten van Azure Data Explorer.
- Als u de parameters wilt aanpassen en de kosten voor het uitvoeren van deze oplossing in uw omgeving wilt verkennen, gebruikt u de Azure-prijscalculator.
Medewerkers
Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.
Hoofdauteur:
- Richard Bumann | Oplossingsarchitect
Volgende stappen
Productdocumentatie:
- Over Azure Event Hubs
- Concepten van Azure Databricks
- Inleiding tot Azure Data Lake Storage
- Wat is Azure Data Factory?
- Overzicht van Azure-app Service
Als u deze oplossing wilt implementeren, raadpleegt u deze informatie:
- een WFS naar Azure Kaarten Verbinding maken
- OpenStreetMap-gegevens verwerken met Spark.
- Verken manieren om gegevens weer te geven met Azure Kaarten.
Informatie over het verwerken van georuimtelijke gegevens
- Functies voor het uitvoeren van query's op PostGIS for vectortegels
- Functies voor het laden van PostGIS-rasters
- Georuimtelijke functies van Azure Data Explorer
- Gegevensbronnen voor vectortegels in Azure Kaarten
- Benaderingen voor het verwerken van georuimtelijke gegevens in Databricks
Verwante resources
Gerelateerde architecturen
- Big data-analyse met Azure Data Explorer
- Statusgegevensconsortium in Azure
- [DataOps voor het moderne datawarehouse] [DataOps voor het moderne datawarehouse]
- Interactieve analyses van Azure Data Explorer
- Georuimtelijke referentiearchitectuur - Azure Orbital
- Georuimtelijke analyse voor telecom
- Gegevensanalyse van Spaceborne met Azure Synapse Analytics
Verwante handleidingen
- Vergelijk de machine learning-producten en -technologieën van Microsoft - Azure Databricks
- MlOps-framework (Machine Learning Operations) om de levenscyclus van machine learning omhoog te schalen met Azure Machine Learning
- [Handleiding voor beslissingen van Azure Machine Learning voor optimale selectie van hulpprogramma's] [Handleiding voor beslissingen van Azure Machine Learning voor optimale selectie van hulpprogramma's]
- Azure Databricks bewaken