Valutare l'efficienza dei big data geospaziali usando Cosmos DB, e migliorare i dati con Azure Synapse...
In una serie di test di prestazioni condotti dai ricercatori di Microsoft, Azure Cosmos DB ha dimostrato la sua capacità di gestire query spaziali, in particolare nel campo dei big data.
Azure Cosmos DB, un servizio di database distribuito a livello globale, suddiviso orizzontalmente e multimodale offerto da Microsoft, ha dimostrato la sua versatilità con i test. Il motore del database, agnostico rispetto allo schema e con supporto per JSON, si è rivelato una piattaforma ideale per la gestione di dati spaziali complessi.
I test hanno coinvolto un dataset di 125 milioni di footprint di edifici generati dal computer nei 50 stati USA. L'area per ogni footprint di edificio interrogato è stata derivata dalle funzionalità archiviate in Cosmos DB utilizzando le librerie Python Shapely e Geopandas.
Uno dei fattori chiave che ha contribuito ai tempi di risposta delle query rapidi è stato l'indice spaziale. Questa funzionalità ha migliorato il tempo di risposta della query di circa 2000 volte e ha notevolmente ridotto il costo della query.
Azure Cosmos DB offre tre operazioni spaziali chiave: query di distanza spaziale, query di gamma spaziale e join spaziale. La query di gamma spaziale ha restituito tutti gli oggetti spaziali che si trovano all'interno di una regione geografica, mentre la query di distanza spaziale ha restituito la distanza tra due espressioni GeoJSON Point, Polygon o LineString. D'altra parte, il join spaziale ha restituito tutti i punti e i poligoni che si trovano in ciascuna delle finestre di query impostate.
I test sono stati condotti su 4 contenitori Cosmos DB con numeri variabili di footprint di edifici: 2, 5, 25 milioni e un contenitore aggiuntivo senza indice spaziale con 2 milioni di footprint di edifici. Interessantemente, il costo delle unità di richiesta (RU) e il numero di documenti o funzionalità trovati sono rimasti stabili tra i contenitori con un indice spaziale.
Un altro aspetto degno di nota è che Azure Cosmos DB ha abilitato l'uso di dati in streaming, nonostante non siano stati testati gli accordi di livello di servizio (SLAs) sulle azioni di scrittura in questo test.
Il tempo di risposta è stato stabile in una gamma di decine di millisecondi, indipendentemente dal numero di documenti all'interno del database. Si tratta di un vantaggio significativo per le applicazioni che richiedono l'elaborazione dei dati spaziali in tempo reale.
Inoltre, i dati possono essere aperti direttamente come frame di dati Python o tabelle SQL nell'area di lavoro dei notebook di Synapse. Azure Synapse Analytics può essere utilizzato per l'analisi dei big data spaziali, con i dati interrogati portati direttamente da Cosmos DB ai nodi di calcolo Spark del pool Spark di Synapse Analytics.
Azure Cosmos DB comprende i dati spaziali rappresentati nello standard GeoJSON e supporta 4 tipi spaziali: punti, poligoni, multipoligoni e line-string. Utilizza un approccio a quadtree e una curva di riempimento dello spazio di Hilbert per l'indicizzazione efficiente dei dati spaziali.
I risultati di questi test di prestazioni sono stati pubblicati in un repository GitHub, offrendo una risorsa preziosa per gli sviluppatori e i ricercatori interessati all'elaborazione dei dati spaziali. Con i suoi tempi di risposta delle query rapidi, la scalabilità e il supporto per diverse operazioni spaziali, Azure Cosmos DB è indubbiamente uno strumento promettente per l'analisi dei big data spaziali.
Leggi anche:
- In generale gli agricoltori dovrebbero sostenere la conservazione del clima, ma spesso non lo fanno.
- L'UE stanzia 161 milioni di euro in aiuti umanitari per l'Afghanistan nel 2025
- Istruzioni per la configurazione di WildFly Java Application Server su Rocky Linux versione 9
- Influenza globale del Wi-Fi sulle società e le economie di tutti i continenti