Redigera

Dela via


Geospatial databearbetning och analys

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

Den här artikeln beskriver en hanterbar lösning för att göra stora mängder geospatiala data tillgängliga för analys.

Arkitektur

Arkitekturdiagram som visar hur geospatiala data flödar genom ett Azure-system. Olika komponenter tar emot, bearbetar, lagrar, analyserar och publicerar data.

Ladda ned en Visio-fil med den här arkitekturen.

Diagrammet innehåller flera grå rutor, var och en med en annan etikett. Från vänster till höger är etiketterna Mata in, Förbereda, Läsa in, Betjäna och Visualisera och utforska. En sista ruta under de andra har etiketten Övervaka och säker. Varje ruta innehåller ikoner som representerar olika Azure-tjänster. Numrerade pilar ansluter rutorna på det sätt som stegen beskriver i diagramförklaringen.

Arbetsflöde

  1. IoT-data anger systemet:

  2. GIS-data anger systemet:

    • Azure Data Factory matar in raster-GIS-data och vektor-GIS-data i valfritt format.

      • Rastreringsdata består av rutnät med värden. Varje pixelvärde representerar en egenskap som temperatur eller höjd för ett geografiskt område.
      • Vektordata representerar specifika geografiska funktioner. Hörn, eller diskreta geometriska platser, utgör vektorerna och definierar formen på varje rumsligt objekt.
    • Data Factory lagrar data i Data Lake Storage.

  3. Spark-kluster i Azure Databricks använder geospatiala kodbibliotek för att transformera och normalisera data.

  4. Data Factory läser in förberedda vektor- och rasterdata i Azure Database for PostgreSQL. Lösningen använder PostGIS-tillägget med den här databasen.

  5. Data Factory läser in förberedda vektor- och rasterdata i Azure Data Explorer.

  6. Azure Database for PostgreSQL lagrar GIS-data. API:er gör dessa data tillgängliga i standardiserade format:

    • GeoJSON baseras på JavaScript Object Notation (JSON). GeoJSON representerar enkla geografiska funktioner och deras icke-rumsliga egenskaper.
    • Välkänd text (WKT) är ett textmarkeringsspråk som representerar vektorgeometriobjekt.
    • Vektorpaneler är paket med geografiska data. Deras enkla format förbättrar mappningsprestandan.

    En Redis-cache förbättrar prestandan genom att ge snabb åtkomst till data.

  7. Funktionen Web Apps i Azure App Service fungerar med Azure Kartor för att skapa visuella objekt av data.

  8. Användare analyserar data med Azure Data Explorer. GIS-funktioner i det här verktyget skapar insiktsfulla visualiseringar. Exempel är att skapa punktdiagram från geospatiala data.

  9. Power BI tillhandahåller anpassade rapporter och business intelligence (BI). Det visuella Azure-Kartor för Power BI visar rollen för platsdata i affärsresultat.

Under hela processen:

  • Azure Monitor samlar in information om händelser och prestanda.
  • Log Analytics kör frågor i Övervaka loggar och analyserar resultatet.
  • Azure Key Vault skyddar lösenord, anslutningssträng och hemligheter.

Komponenter

  • Azure Event Hubs är en fullständigt hanterad strömningsplattform för stordata. Den här plattformen som en tjänst (PaaS) erbjuder en partitionerad konsumentmodell. Flera program kan använda den här modellen för att bearbeta dataströmmen samtidigt.

  • Azure Data Factory är en integrationstjänst som fungerar med data från olika datalager. Du kan använda den här fullständigt hanterade, serverlösa plattformen för att skapa, schemalägga och samordna arbetsflöden för datatransformering.

  • Azure Databricks är en plattform för dataanalys. Dess fullständigt hanterade Spark-kluster bearbetar stora dataströmmar från flera källor. Azure Databricks kan omvandla geospatiala data i stor skala för användning i analys och datavisualisering.

  • Data Lake Storage är en skalbar och säker datasjö för analysarbetsbelastningar med höga prestanda. Den här tjänsten kan hantera flera petabyte med information samtidigt som hundratals gigabit dataflöde bibehålls. Data kommer vanligtvis från flera heterogena källor och kan vara strukturerade, halvstrukturerade eller ostrukturerade.

  • Azure Database for PostgreSQL är en fullständigt hanterad relationsdatabastjänst som baseras på communityversionen av PostgreSQL-databasmotorn med öppen källkod.

  • PostGIS är ett tillägg för PostgreSQL-databasen som integreras med GIS-servrar. PostGIS kan köra SQL-platsfrågor som omfattar geografiska objekt.

  • Redis är ett datalager med öppen källkod, minnesinternt. Redis-cacheminnen behåller data som används ofta i serverminnet. Cacheminnena kan sedan snabbt bearbeta stora mängder programbegäranden som använder data.

  • Power BI är en samling programtjänster och appar. Du kan använda Power BI för att ansluta orelaterade datakällor och skapa visuella objekt av dem.

  • Det visuella Azure-Kartor för Power BI är ett sätt att förbättra kartor med rumsliga data. Du kan använda det här visuella objektet för att visa hur platsdata påverkar affärsmått.

  • Azure App Service och dess Web Apps-funktion tillhandahåller ett ramverk för att skapa, distribuera och skala webbappar. App Service-plattformen erbjuder inbyggt infrastrukturunderhåll, säkerhetskorrigeringar och skalning.

  • API:er för GIS-data i Azure Kartor lagra och hämta kartdata i format som GeoJSON och vektorpaneler.

  • Azure Data Explorer är en snabb, fullständigt hanterad dataanalystjänst som kan fungera med stora mängder data. Den här tjänsten fokuserade ursprungligen på tidsserier och logganalys. Den hanterar nu även olika dataströmmar från program, webbplatser, IoT-enheter och andra källor. Geospatiala funktioner i Azure Data Explorer innehåller alternativ för återgivning av kartdata.

  • Azure Monitor samlar in data om miljöer och Azure-resurser. Den här diagnostikinformationen är användbar för att upprätthålla tillgänglighet och prestanda. Två dataplattformar utgör Monitor:

  • Log Analytics är ett Azure-portalverktyg som kör frågor på Övervaka loggdata. Log Analytics innehåller även funktioner för diagram och statistisk analys av frågeresultat.

  • Key Vault lagrar och styr åtkomsten till hemligheter som token, lösenord och API-nycklar. Key Vault skapar och styr även krypteringsnycklar och hanterar säkerhetscertifikat.

Alternativ

  • I stället för att utveckla egna API:er bör du överväga att använda Martin. Den här panelservern med öppen källkod gör vektorpaneler tillgängliga för webbappar. Martin är skriven i Rust och ansluter till PostgreSQL-tabeller. Du kan distribuera den som en container.

  • Om målet är att tillhandahålla ett standardiserat gränssnitt för GIS-data bör du överväga att använda GeoServer. Det här öppna ramverket implementerar branschstandardprotokoll för Open Geospatial Consortium (OGC), till exempel Web Feature Service (WFS). Den integreras också med vanliga rumsliga datakällor. Du kan distribuera GeoServer som en container på en virtuell dator. När anpassade webbappar och undersökande frågor är sekundära är GeoServer ett enkelt sätt att publicera geospatiala data.

  • Olika Spark-bibliotek är tillgängliga för att arbeta med geospatiala data i Azure Databricks. Den här lösningen använder följande bibliotek:

    Men det finns även andra lösningar för bearbetning och skalning av geospatiala arbetsbelastningar med Azure Databricks.

  • Vektorpaneler är ett effektivt sätt att visa GIS-data på kartor. Den här lösningen använder PostGIS för att dynamiskt fråga vektorpaneler. Den här metoden fungerar bra för enkla frågor och resultatuppsättningar som innehåller långt under 1 miljon poster. Men i följande fall kan en annan metod vara bättre:

    • Dina frågor är beräkningsmässigt dyra.
    • Dina data ändras inte ofta.
    • Du visar stora datamängder.

    I dessa situationer bör du överväga att använda Tippecanoe för att generera vektorpaneler. Du kan köra Tippecanoe som en del av databehandlingsflödet, antingen som en container eller med Azure Functions. Du kan göra de resulterande panelerna tillgängliga via API:er.

  • Precis som Event Hubs kan Azure IoT Hub mata in stora mängder data. Men IoT Hub erbjuder också dubbelriktade kommunikationsfunktioner med enheter. Om du tar emot data direkt från enheter men även skickar tillbaka kommandon och principer till enheter bör du överväga IoT Hub i stället för Event Hubs.

  • Om du vill effektivisera lösningen utelämnar du följande komponenter:

    • Öppna Azure-datautforskaren
    • Power BI

Information om scenario

Det finns många möjligheter att arbeta med geospatiala data eller information som innehåller en geografisk komponent. Till exempel är programvara och standarder för geografiska informationssystem (GIS) allmänt tillgängliga. Dessa tekniker kan lagra, bearbeta och ge åtkomst till geospatiala data. Men det är ofta svårt att konfigurera och underhålla system som fungerar med geospatiala data. Du behöver också expertkunskaper för att integrera dessa system med andra system.

Den här artikeln beskriver en hanterbar lösning för att göra stora mängder geospatiala data tillgängliga för analys. Metoden baseras på referensarkitektur för avancerad analys och använder följande Azure-tjänster:

  • Azure Databricks med GIS Spark-bibliotek bearbetar data.
  • Azure Database for PostgreSQL frågar data som användarna begär via API:er.
  • Azure Data Explorer kör snabba undersökande frågor.
  • Azure Kartor skapar visuella objekt av geospatiala data i webbprogram.
  • Den visuella funktionen Azure Kartor Power BI i Power BI tillhandahåller anpassade rapporter

Potentiella användningsfall

Den här lösningen gäller för många områden:

  • Bearbetning, lagring och åtkomst till stora mängder rasterdata, till exempel kartor eller klimatdata.
  • Identifiera den geografiska positionen för erp-systementiteter (Enterprise Resource Planning).
  • Kombinera entitetsplatsdata med GIS-referensdata.
  • Lagra IoT-telemetri (Internet of Things) från flyttenheter.
  • Köra geospatiala analytiska frågor.
  • Bädda in kuraterade och kontextualiserade geospatiala data i webbappar.

Att tänka på

Följande överväganden, som baseras på Microsoft Azure Well-Architected Framework, gäller för den här lösningen.

Tillgänglighet

Skalbarhet

Implementeringen av den här lösningen uppfyller följande villkor:

  • Bearbetar upp till 10 miljoner datauppsättningar per dag. Datauppsättningarna innehåller batch- eller strömningshändelser.
  • Lagrar 100 miljoner datauppsättningar i en Azure Database for PostgreSQL-databas.
  • Frågar 1 miljon eller färre datamängder samtidigt. Högst 30 användare kör frågorna.

Miljön använder den här konfigurationen:

  • Ett Azure Databricks-kluster med fyra F8s_V2 arbetsnoder.
  • En minnesoptimerad instans av Azure Database for PostgreSQL.
  • En App Service-plan med två Standard S2-instanser.

Tänk på dessa faktorer för att avgöra vilka justeringar som ska göras för implementeringen:

  • Datainmatningshastigheten.
  • Din datavolym.
  • Din frågevolym.
  • Antalet parallella frågor som du behöver stöd för.

Du kan skala Azure-komponenter oberoende av varandra:

Funktionen för automatisk skalning i Monitor ger också skalningsfunktioner. Du kan konfigurera den här funktionen för att lägga till resurser för att hantera ökad belastning. Det kan också ta bort resurser för att spara pengar.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

  • Information om hur du beräknar kostnaden för att implementera den här lösningen finns i en exempelkostnadsprofil. Den här profilen är avsedd för en enda implementering av miljön som beskrivs i skalbarhetsöverväganden. Den inkluderar inte kostnaden för Azure Data Explorer.
  • Om du vill justera parametrarna och utforska kostnaden för att köra den här lösningen i din miljö använder du Priskalkylatorn för Azure.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Nästa steg

Produktdokumentation:

Information om hur du börjar implementera den här lösningen finns i följande information:

Information om bearbetning av geospatiala data