Questo articolo descrive una soluzione gestibile per rendere disponibili per l'analisi volumi elevati di dati geospaziali.
Architettura
Scaricare un file di Visio di questa architettura.
Il diagramma contiene diverse caselle grigie, ognuna con un'etichetta diversa. Le etichette da sinistra a destra indicano Ingest (inserimento), Prepare (preparazione), Load (caricamento), Serve (servizio) ed Explore (esplorazione). Un'ultima casella al di sotto delle altre presenta l'etichetta Monitor and secure (Monitoraggio e protezione). Ogni casella contiene icone che rappresentano vari servizi di Azure. Le caselle sono collegate da frecce numerate secondo la sequenza della descrizione dei passaggi nella spiegazione del diagramma.
Workflow
I dati IoT accedono al sistema:
- Hub eventi di Azure inserisce flussi di dati IoT. I dati contengono coordinate o altre informazioni che identificano le posizioni dei dispositivi.
- Hub eventi usa Azure Databricks per l'elaborazione iniziale del flusso.
- Hub eventi archivia i dati in Azure Data Lake Archiviazione.
I dati GIS accedono al sistema:
Azure Data Factory inserisce dati GIS raster e dati GIS vettoriali di qualsiasi formato.
- I dati raster sono costituiti da griglie di valori. Ogni valore di pixel rappresenta una caratteristica come la temperatura o l'altitudine di un'area geografica.
- I dati vettoriali rappresentano caratteristiche geografiche specifiche. I vertici, o posizioni geometriche discrete, costituiscono i vettori e definiscono la forma di ogni oggetto nello spazio.
Data Factory archivia i dati in Data Lake Storage.
I cluster Spark in Azure Databricks usano librerie di codice geospaziale per trasformare e normalizzare i dati.
Data Factory carica i dati raster e vettoriali preparati in Database di Azure per PostgreSQL. La soluzione usa l'estensione PostGIS con questo database.
Data Factory carica i dati raster e vettoriali preparati in Azure Esplora dati.
Database di Azure per PostgreSQL archivia i dati GIS. Le API rendono disponibili questi dati in formati standardizzati:
- GeoJSON è basato su JavaScript Object Notation (JSON). GeoJSON rappresenta funzionalità geografiche semplici e le relative proprietà non spaziali.
- WKT (Well-known text) è un linguaggio di markup del testo che rappresenta oggetti geometrici vettoriali.
- Le sezioni vettoriali sono pacchetti di dati geografici. Il formato semplificato migliora le prestazioni di mapping.
Una cache Redis migliora le prestazioni fornendo un accesso rapido ai dati.
La funzionalità App Web del servizio app Azure funziona con Mappe di Azure per creare oggetti visivi dei dati.
Gli utenti analizzano i dati con Esplora dati di Azure. Le funzionalità GIS di questo strumento creano visualizzazioni dettagliate, ad esempio creando diagrammi di dispersione da dati geospaziali.
Power BI offre report personalizzati e business intelligence (BI). L'oggetto visivo di Mappe di Azure per Power BI evidenzia il ruolo dei dati di posizione nei risultati aziendali.
Nel corso del processo:
- Monitoraggio di Azure raccoglie informazioni su eventi e prestazioni.
- Log Analytics esegue query sui log di Monitoraggio e analizza i risultati.
- Azure Key Vault protegge password, stringa di connessione e segreti.
Componenti
Hub eventi di Azure è una piattaforma di streaming completamente gestita per Big Data. Questa piattaforma distribuita come servizio (PaaS) offre un modello di consumer partizionato. Più applicazioni possono usare questo modello per elaborare il flusso di dati contemporaneamente.
Azure Data Factory è un servizio di integrazione che funziona con dati provenienti da archivi dati diversi. È possibile usare questa piattaforma serverless completamente gestita per creare, pianificare e orchestrare flussi di lavoro di trasformazione dei dati.
Azure Databricks è una piattaforma di analisi dei dati. I cluster Spark completamente gestiti elaborano flussi ingenti di dati provenienti da più origini. Azure Databricks può trasformare i dati geospaziali su larga scala per l'uso nell'analisi e nella visualizzazione dei dati.
Data Lake Storage è un data lake scalabile e sicuro per carichi di lavoro di analisi a elevate prestazioni. Questo servizio è in grado di gestire diversi petabyte di informazioni supportando al tempo stesso centinaia di gigabit di velocità effettiva. I dati provengono in genere da più origini eterogenee e possono essere strutturati, semistrutturati o non strutturati.
Database di Azure per PostgreSQL è un servizio di database relazionale completamente gestito basato sull'edizione community del motore di database PostgreSQL open source.
PostGIS è un'estensione per il database PostgreSQL che si integra con i server GIS. PostGIS può eseguire query di posizione SQL che coinvolgono oggetti geografici.
Redis è un archivio dati in memoria open source. Le cache Redis mantengono nella memoria del server i dati a cui si accede di frequente. Le cache possono quindi elaborare rapidamente volumi elevati di richieste delle applicazioni che usano i dati.
Power BI è una raccolta di app e servizi software. È possibile usare Power BI per connettere origini dati non correlate e crearne oggetti visivi.
L'oggetto visivo di Mappe di Azure per Power BI offre un modo per migliorare le mappe con i dati spaziali. È possibile usare questo oggetto visivo per mostrare in che modo i dati sulla posizione influiscono sulle metriche aziendali.
app Azure Servizio e la relativa funzionalità di App Web forniscono un framework per la compilazione, la distribuzione e il ridimensionamento delle app Web. La piattaforma del servizio app offre funzionalità predefinite di manutenzione dell'infrastruttura, applicazione di patch di sicurezza e ridimensionamento.
Le API dei dati GIS in Mappe di Azure archiviano e recuperano i dati di mappa in formati come GeoJSON e sezioni vettoriali.
Esplora dati di Azure è un servizio di analisi dei dati veloce e completamente gestito in grado di interagire con volumi elevati di dati. Questo servizio, che in origine era focalizzato su serie temporali e analisi dei log, ora gestisce flussi di dati eterogenei provenienti da applicazioni, siti Web, dispositivi IoT e altre origini. La funzionalità geospaziale in Esplora dati di Azure offre opzioni per il rendering dei dati di mappa.
Monitoraggio di Azure raccoglie i dati in ambienti e risorse di Azure. Queste informazioni di diagnostica sono utili per mantenere disponibilità e prestazioni. Monitoraggio è composto da due piattaforme dati:
- Log di Monitoraggio di Azure registra e archivia i dati di log e prestazioni.
- Metriche di Monitoraggio di Azure raccoglie valori numerici a intervalli regolari.
Log Analytics è uno strumento del portale di Azure che esegue query sui dati di log di Monitoraggio. Log Analytics offre anche funzionalità per la creazione di grafici e l'analisi statistica dei risultati delle query.
Key Vault archivia e controlla l'accesso ai segreti, come token, password e chiavi API. Key Vault crea e controlla anche le chiavi di crittografia e gestisce i certificati di sicurezza.
Alternative
Anziché sviluppare API proprie, è consigliabile usare Martin. Questo server delle sezioni open source rende disponibili sezioni vettoriali per app Web. Scritto in Rust, Martin si connette alle tabelle PostgreSQL. È possibile distribuirlo come contenitore.
Se l'obiettivo è fornire un'interfaccia standardizzata per dati GIS, è consigliabile usare GeoServer. Questo framework aperto implementa protocolli OGC (Open Geospatial Consortium) di standard del settore, ad esempio Web Feature Service (WFS). Si integra anche con origini dati spaziali comuni. È possibile distribuire GeoServer come contenitore in una macchina virtuale. Nei casi in cui le app Web personalizzate e le query esplorative sono secondarie, GeoServer offre un modo semplice per pubblicare dati geospaziali.
Sono disponibili varie librerie Spark per l'uso di dati geospaziali in Azure Databricks. Questa soluzione usa le librerie seguenti:
Le sezioni vettoriali offrono un modo efficiente per visualizzare i dati GIS sulle mappe. Questa soluzione usa PostGIS per eseguire query in modo dinamico sulle sezioni vettoriali. Questo approccio funziona bene per query semplici e set di risultati che contengono meno di 1 milione di record. Se si verificano le condizioni seguenti invece può essere più indicato scegliere un approccio diverso:
- Le query sono onerose dal punto di vista dei calcoli.
- I dati non cambiano di frequente.
- Vengono visualizzati set di dati di grandi dimensioni.
In queste situazioni è consigliabile usare Tippecanoe per generare sezioni vettoriali. È possibile eseguire Tippecanoe come parte del flusso di elaborazione dati, come contenitore o con Funzioni di Azure. È possibile rendere disponibili le sezioni risultanti tramite le API.
Analogamente a Hub eventi, l'hub IoT di Azure può inserire grandi quantità di dati. L'hub IoT tuttavia offre anche funzionalità di comunicazione bidirezionale con i dispositivi. Se si ricevono dati direttamente dai dispositivi ma si inviano anche comandi e criteri ai dispositivi, valutare l'opportunità di usare l'hub IoT invece di Hub eventi.
Per semplificare la soluzione, omettere questi componenti:
- Esplora dati di Azure
- Power BI
Dettagli dello scenario
I dati geospaziali o le informazioni che includono un componente geografico hanno molteplici possibilità d'uso. Sono ad esempio ampiamente disponibili software e standard GIS (Geographic Information System), tecnologie in grado di archiviare, elaborare e fornire l'accesso ai dati geospaziali. È tuttavia spesso difficile configurare e gestire sistemi in grado di interagire con dati geospaziali. È necessaria inoltre una conoscenza specifica per integrare tali sistemi con altri sistemi.
Questo articolo descrive una soluzione gestibile per rendere disponibili per l'analisi volumi elevati di dati geospaziali. L'approccio si basa sull'architettura di riferimento di analisi avanzata e usa questi servizi di Azure:
- Azure Databricks con le librerie Spark GIS elabora i dati.
- Database di Azure per PostgreSQL esegue query sui dati che gli utenti richiedono tramite API.
- Esplora dati di Azure esegue query esplorative veloci.
- Mappe di Azure crea oggetti visivi di dati geospaziali nelle applicazioni Web.
- La funzionalità visiva di Power BI Mappe di Azure di Power BI offre report personalizzati
Potenziali casi d'uso
Questa soluzione si applica a molte aree:
- Elaborazione, archiviazione e accesso a quantità elevate di dati raster, ad esempio mappe o dati sul clima.
- Identificazione della posizione geografica di entità di sistema ERP (Enterprise Resource Planning).
- Combinazione dei dati sulla posizione delle entità con i dati di riferimento GIS.
- Archiviazione dei dati di telemetria Internet delle cose (IoT) da dispositivi in movimento.
- Esecuzione di query geospaziali analitiche.
- Incorporamento di dati geospaziali curati e contestualizzati in app Web.
Considerazioni
Le considerazioni seguenti, basate su Microsoft Azure Well-Architected Framework, si applicano a questa soluzione.
Disponibilità
Hub eventi estende il rischio di errore tra i cluster.
- Usare uno spazio dei nomi con le zone di disponibilità attivate per distribuire i rischi su tre strutture fisicamente separate.
- Valutare la possibilità di usare la funzionalità di ripristino di emergenza geografico di Hub eventi. Questa funzionalità replica l'intera configurazione di uno spazio dei nomi da uno spazio dei nomi primario a uno secondario.
Vedere le funzionalità di continuità aziendale offerte da Database di Azure per PostgreSQL. Queste funzionalità coprono una vasta gamma di obiettivi di ripristino.
La diagnostica del servizio app segnala l'esistenza di problemi nelle app, ad esempio tempi di inattività. Usare questo servizio per identificare e risolvere problemi come le interruzioni.
Valutare la possibilità di usare il servizio app per eseguire il backup dei file dell'applicazione. Prestare tuttavia attenzione con i file di cui è stato eseguito il backup, che includono impostazioni dell'app in testo normale. Queste impostazioni possono contenere segreti come stringa di connessione.
Scalabilità
L'implementazione di questa soluzione soddisfa queste condizioni:
- Elabora fino a 10 milioni di set di dati al giorno. I set di dati includono eventi batch o di streaming.
- Archivia 100 milioni di set di dati in un Database di Azure per PostgreSQL.
- Esegue query su un massimo di un milione di set di dati contemporaneamente. Le query vengono eseguite da un massimo di 30 utenti.
L'ambiente usa questa configurazione:
- Un cluster Azure Databricks con quattro nodi di lavoro F8s_V2.
- Un'istanza di Database di Azure per PostgreSQL ottimizzata per la memoria.
- Un piano di servizio app con due istanze Standard S2.
Prendere in considerazione questi fattori per determinare le modifiche da apportare per l'implementazione:
- Frequenza di inserimento dei dati.
- Volume dei dati.
- Volume delle query.
- Numero di query parallele che è necessario supportare.
È possibile ridimensionare i componenti di Azure in modo indipendente:
Hub eventi si ridimensiona automaticamente per soddisfare le esigenze di utilizzo. Eseguire tuttavia i passaggi per la gestione delle unità elaborate e l'ottimizzazione delle partizioni.
Data Factory gestisce grandi quantità di dati e ha un'architettura serverless che supporta il parallelismo a livelli diversi.
Database di Azure per PostgreSQL offre scalabilità orizzontale ad alte prestazioni.
I cluster Azure Databricks vengono ridimensionati in base alle esigenze.
Esplora dati di Azure può eseguire la scalabilità elastica fino a terabyte di dati in pochi minuti.
Le app Web del servizio app possono implementare scalabilità verticale e orizzontale.
Anche la funzionalità di scalabilità automatica di Monitoraggio offre funzionalità di ridimensionamento. È possibile configurare questa funzionalità per aggiungere risorse per la gestione degli aumenti di carico. Può anche rimuovere risorse per risparmiare denaro.
Sicurezza
La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.
Proteggere i dati delle sezioni vettoriali. Le sezioni vettoriali incorporano coordinate e attributi per più entità in un unico file. Se si generano sezioni vettoriali, usare un set dedicato di sezioni per ogni livello di autorizzazione nel sistema di controllo di accesso. Con questo approccio, solo gli utenti all'interno di ogni livello di autorizzazione hanno accesso al file di dati di tale livello.
Per migliorare la sicurezza, usare Key Vault in queste situazioni:
Vedere Sicurezza in Servizio app di Azure per informazioni sul modo in cui il servizio app protegge le app Web. Tenere presenti anche questi aspetti:
- Informazioni su come ottenere il certificato necessario per l'app per usare un nome di dominio personalizzato.
- Informazioni su come reindirizzare le richieste HTTP per l'app alla porta HTTPS.
- Informazioni sulle procedure consigliate per l'autenticazione nelle app Web.
Ottimizzazione dei costi
L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.
- Per stimare il costo dell'implementazione di questa soluzione, vedere un profilo dei costi di esempio. Questo profilo è relativo a una singola implementazione dell'ambiente descritto in Considerazioni sulla scalabilità. Non include il costo di Esplora dati di Azure.
- Per modificare i parametri ed esplorare il costo di esecuzione di questa soluzione nel proprio ambiente, usare il calcolatore prezzi di Azure.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autore principale:
- Richard Bumann | Progettista di soluzioni
Passaggi successivi
Documentazione sui prodotti:
- Informazioni su Hub eventi di Azure
- Concetti di Azure Databricks
- Introduzione ad Archiviazione di Azure Data Lake
- Che cos'è Azure Data Factory?
- Panoramica del servizio app Azure
Per iniziare a implementare questa soluzione, vedere queste informazioni:
- Connessione un WFS da Mappe di Azure
- Elaborare i dati OpenStreetMap con Spark.
- Esplorare i modi per visualizzare i dati con Mappe di Azure.
Informazioni sull'elaborazione dei dati geospaziali
- Funzioni per l'esecuzione di query su PostGIS per sezioni vettoriali
- Funzioni per il caricamento di raster PostGIS
- Funzioni geospaziali di Esplora dati di Azure
- Origini dati per sezioni vettoriali in Mappe di Azure
- Approcci per l'elaborazione di dati geospaziali in Databricks
Risorse correlate
Architetture correlate
- Analisi dei Big Data con Azure Esplora dati
- Consorzio di dati sanitari in Azure
- [DataOps per il data warehouse moderno] [DataOps per il data warehouse moderno]
- Analisi interattiva di Azure Esplora dati
- Architettura di riferimento geospaziale - Azure Orbital
- Analisi geospaziale per telecomunicazioni
- Analisi dei dati spaziali con Azure Synapse Analytics
Guide correlate
- Confrontare i prodotti e le tecnologie di Machine Learning di Microsoft - Azure Databricks
- Framework delle operazioni di Machine Learning (MLOps) per ridimensionare il ciclo di vita di Machine Learning con Azure Machine Learning
- [Guida decisionale di Azure Machine Learning per la selezione ottimale degli strumenti] [Guida decisionale di Azure Machine Learning per la selezione ottimale degli strumenti]
- Monitorare Azure Databricks