Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La semantica del grafo consente di modellare ed eseguire query sui dati come reti interconnesse. Un grafico è costituito da nodi (entità) e archi (relazioni) che le connettono. Sia i nodi che i bordi possono contenere proprietà, creando un modello di dati avanzato per relazioni complesse.
I grafici rappresentano dati complessi con relazioni molti-a-molti, strutture gerarchiche o connessioni in rete, ad esempio social network, sistemi di raccomandazione, asset connessi e grafici delle conoscenze. A differenza dei database relazionali che richiedono indici e join per connettere i dati tra tabelle, i grafici usano l'adiacenza diretta tra nodi, consentendo un attraversamento rapido e intuitivo delle relazioni.
Il grafico seguente illustra uno scenario di percorso di attacco alla cybersecurity. I nodi rappresentano entità come fonti esterne, utenti e risorse critiche, mentre gli archi rappresentano azioni o relazioni che formano una potenziale sequenza di attacco.
Le query su grafi sfruttano la struttura del grafo per eseguire operazioni sofisticate, come trovare percorsi, schemi, le distanze più brevi, comunità e misure di centralità. Queste funzionalità rendono i grafici potenti per la modellazione di relazioni, interazioni, dipendenze e flussi tra domini, tra cui social network, catene di fornitura, reti di dispositivi IoT, gemelli digitali, sistemi di raccomandazione e strutture organizzative.
Il grafico seguente illustra uno scenario di supply chain in cui i nodi rappresentano fornitori, produttori e distributori e archi rappresentano relazioni di fornitura. Questo esempio dimostra come i grafici modellano i flussi e le dipendenze attraverso diversi contesti aziendali.
Perché usare la semantica del grafo?
Le funzionalità graph offrono vantaggi significativi sfruttando gli investimenti esistenti nei dati , aggiungendo al contempo una modellazione sofisticata delle relazioni:
- Nessuna migrazione dei dati necessaria : creare modelli a grafo direttamente dai dati correnti senza duplicazione.
- Soluzione conveniente : elimina la complessità e le spese dei database a grafo dedicati.
- Supporto per l'analisi temporale : come database di serie temporali, è possibile analizzare naturalmente il modo in cui i grafici si evolvono nel tempo.
- Modellazione basata su eventi: modella grafici come sequenze di eventi di relazione, in linea con funzionalità di elaborazione di eventi avanzati.
- Integrazione semplice di KQL : gli operatori Graph funzionano insieme a tutte le funzionalità KQL esistenti con il supporto completo di IntelliSense.
Questo approccio offre la modellazione delle relazioni di livello aziendale mantenendo al contempo prestazioni, scalabilità e un'interfaccia familiare. Le organizzazioni possono analizzare dati interconnessi complessi tra domini, dalle catene di fornitura e dalle gerarchie organizzative alle reti di dispositivi IoT e alle relazioni sociali, senza investimenti aggiuntivi nell'infrastruttura.
Approccio transitorio alla creazione di grafi
I grafici temporanei vengono creati in modo dinamico usando l'operatore make-graph
. Questi grafici sono presenti in memoria durante l'esecuzione della query e vengono eliminati automaticamente al termine della query.
Caratteristiche principali
- Creazione dinamica : compilata da dati tabulari usando query KQL con l'intera struttura che risiede in memoria
- Disponibilità immediata - Nessun requisito di pre-elaborazione o configurazione
- Vincoli di memoria : le dimensioni del grafo sono limitate dalla memoria disponibile nei nodi del cluster
- Fattori di prestazioni : le dimensioni della topologia e delle proprietà del grafo determinano i requisiti di memoria
Questo approccio è ottimale per set di dati di piccole e medie dimensioni in cui è necessaria l'analisi immediata.
Casi d'uso per grafici temporanei
I grafici temporanei sono eccellenti in diversi scenari:
- Analisi ad hoc - Indagini monouso che richiedono un esame rapido del modello
- Analisi esplorativa dei dati - Test di ipotesi e convalida degli approcci analitici
- Set di dati da piccole a medie - Analisi in tempo reale di eventi recenti o subset di dati mirati
- Creazione rapida di prototipi - Test dei modelli a grafo prima di implementare modelli persistenti
- Analisi dinamica dei dati : dati con modifiche frequenti che non giustificano l'archiviazione persistente
Le applicazioni comuni includono il monitoraggio IoT in tempo reale, l'analisi delle relazioni tra supply chain, il mapping dei percorsi dei clienti e qualsiasi scenario che richiede una visualizzazione immediata delle relazioni di entità.
Approccio per la creazione di grafici persistenti
I grafici persistenti usano modelli di grafo e snapshot di grafo per offrire soluzioni affidabili per grafici complessi su larga scala che rappresentano reti organizzative, catene di fornitura, ecosistemi IoT, gemelli digitali e altri domini di dati interconnessi.
Caratteristiche chiave per i grafici persistenti
- Archiviazione permanente : i modelli e gli snapshot del grafo vengono archiviati nei metadati del database per garantire la durabilità e la coerenza
- Scalabilità : gestire grafici che superano le limitazioni di memoria con funzionalità di analisi su scala aziendale
- Riutilizzabilità : più utenti possono eseguire query sulla stessa struttura senza ricompilare, abilitando l'analisi collaborativa
- Ottimizzazione delle prestazioni - Eliminare la latenza di costruzione del grafico per query ripetute
- Controllo della versione - Più snapshot rappresentano grafici in punti temporali diversi per analisi storica
- Supporto dello schema : definizioni strutturate per tipi di entità diversi e relative proprietà
La funzionalità dello schema supporta sia le etichette statiche (predefinite nel modello a grafo) che le etichette dinamiche (generate in fase di esecuzione dai dati), offrendo flessibilità per ambienti complessi con tipi di entità diversi.
Casi d'uso per grafici persistenti
I grafici permanenti sono essenziali per:
- Analisi aziendale - Flussi di lavoro di monitoraggio continuo tra reti complesse
- Analisi dei dati su larga scala - Grafici su scala aziendale con milioni di nodi e relazioni
- Analisi collaborativa - Più team che usano strutture di gragrafi condivise
- Flussi di lavoro di produzione : sistemi automatizzati che richiedono un accesso coerente al grafo
- Confronto cronologico - Analisi basata sul tempo dell'evoluzione e delle modifiche del grafico
Esempio: Grafico persistente del Digital Twin
Negli scenari di gemelli digitali e IoT, i grafici persistenti supportano l'analisi regolare delle relazioni tra dispositivi, dipendenze delle apparecchiature ed evoluzione del sistema nel tempo. L'analisi cronologica consente di confrontare gli stati del sistema in periodi diversi, di tenere traccia dell'evoluzione delle risorse e di condurre analisi delle tendenze a lungo termine.
Esempio: Grafico permanente di IoT e gemelli digitali
Le applicazioni IoT e gemelli digitali traggono vantaggio in modo significativo dai grafici persistenti durante la modellazione di relazioni complesse tra dispositivi fisici e le relative rappresentazioni virtuali nei sistemi distribuiti. Questi grafici consentono alle organizzazioni di:
- Creare modelli completi di distribuzioni IoT e asset connessi
- Supportare il monitoraggio in tempo reale, la manutenzione predittiva e l'ottimizzazione delle prestazioni
- Analizzare le dipendenze delle apparecchiature e identificare i potenziali punti di guasto
- Ottimizzare i posizionamenti dei sensori tramite la comprensione della topologia fisica e logica
- Tenere traccia delle configurazioni, delle comunicazioni e delle prestazioni dei dispositivi nel tempo
- Rilevare le anomalie dei modelli di comunicazione e visualizzare l'evoluzione dell'ambiente intelligente
- Simulare le condizioni operative prima di implementare le modifiche dell'infrastruttura fisica
Questo approccio persistente dimostra un valore prezioso per la gestione di ecosistemi IoT complessi su larga scala.
Funzionalità di interrogazione del grafo
Dopo aver stabilito un grafo (tramite make-graph
o da uno snapshot), è possibile sfruttare la suite completa di operatori del grafo KQL per un'analisi completa:
Operatori principali:
-
graph-match
- Consente sofisticate operazioni di pattern matching e di attraversamento per l'identificazione di sequenze di relazioni complesse -
graph-shortest-paths
- Trova percorsi ottimali tra entità, consentendo di classificare in ordine di priorità le connessioni e identificare le relazioni critiche -
graph-to-table
- Converte i risultati dell'analisi del grafo in formato tabulare per l'integrazione con i sistemi esistenti
Funzionalità avanzate di analisi:
- Analisi basata sul tempo - Esaminare il modo in cui le relazioni e i modelli si evolvono nel tempo
- Integrazione geospaziale - Combinare i dati del grafo con l'intelligenza basata sulla posizione per l'analisi dei modelli geografici
- Integrazione di Machine Learning - Applicare algoritmi per clustering di entità, classificazione dei criteri e rilevamento anomalie
Queste funzionalità supportano casi d'uso diversi, tra cui l'analisi del percorso dei clienti, i sistemi di raccomandazione dei prodotti, le reti IoT, i gemelli digitali e i grafici delle conoscenze.
Scelta dell'approccio corretto
L'albero delle decisioni seguente consente di selezionare l'approccio di creazione del grafo più appropriato in base ai requisiti e ai vincoli specifici.
Albero delle decisioni: grafici temporanei e persistenti
Quando usare grafici temporanei
Scegliere grafici temporanei per:
- Dimensioni del grafico inferiori a 10 milioni di nodi e bordi (per prestazioni ottimali)
- Analisi di un singolo utente o di un team di piccole dimensioni con requisiti minimi di collaborazione
- Indagini occasionali o esplorative in cui sono necessari risultati immediati
- Analisi dei dati in tempo reale che richiede informazioni sullo stato correnti
- Creazione rapida di prototipi e test di modelli a grafo e logica di query
Anche se i grafici temporanei possono gestire set di dati di dimensioni maggiori, il tempo di esecuzione delle query aumenta man mano che il grafico deve essere ricostruito per ogni query. Prendere in considerazione questo compromesso sulle prestazioni quando si lavora con set di dati di dimensioni maggiori.
Quando usare grafici persistenti
Scegliere grafici permanenti per:
- Dimensioni del grafo superiori a 10 milioni di nodi e archi in cui lo spazio di archiviazione distribuito è vantaggioso
- Più team che richiedono l'accesso condiviso per l'analisi collaborativa
- Analisi ripetuta su set di dati stabili in cui la latenza di costruzione influisce sulla produttività
- Integrazione del flusso di lavoro di produzione che richiede un accesso coerente e affidabile al grafico
- Requisiti di confronto cronologici per tenere traccia delle modifiche nel tempo
- Limitazioni della capacità di memoria che influiscono sulle prestazioni delle query
- Flussi di lavoro di analisi collaborativa tra team e fusi orari
I grafici permanenti sono essenziali quando si lavora con dati su scala aziendale o quando le limitazioni della memoria influiscono sulle prestazioni.
Considerazioni sulle prestazioni
Utilizzo della memoria
- Grafici temporanei - Limitato dalla memoria a nodo singolo del cluster, vincolando l'uso ai set di dati all'interno della RAM disponibile
- Grafici persistenti - Sfruttare l'archiviazione distribuita e i modelli di accesso ottimizzati per i dati su scala aziendale
Latenza delle query
- Grafici temporanei - Includere il tempo di costruzione in ogni query, con ritardi che aumentano al crescere dei set di dati di grandi dimensioni o delle origini dati esterne.
- Grafici persistenti : eliminare la latenza di costruzione tramite snapshot predefiniti, abilitando l'analisi rapida
Le dipendenze dell'origine dati esterna, ad esempio query tra cluster o tabelle esterne a SQL e CosmosDB, possono influire in modo significativo sul tempo di costruzione temporaneo del grafico perché ogni query deve attendere risposte esterne.
Aggiornamento dei dati
- Grafici temporanei : riflettono sempre lo stato dei dati corrente, ideale per l'analisi in tempo reale
- Grafici persistenti - Riflettere i dati in fase di creazione dello snapshot, fornendo coerenza per l'analisi collaborativa, ma richiede aggiornamenti periodici
Integrazione con l'ecosistema KQL
La semantica del grafo si integra perfettamente con le funzionalità più ampie di KQL:
- Analisi delle serie temporali - Tenere traccia dell'evoluzione delle relazioni nel tempo
- Funzioni geospaziali - Analizzare modelli basati sulla posizione e anomalie geografiche
- Operatori di Machine Learning - Rilevare modelli, classificare i comportamenti e identificare le anomalie
- Operatori scalari e tabulari : abilitare trasformazioni complesse, aggregazioni e arricchimento dei dati
Questa integrazione consente flussi di lavoro sofisticati, tra cui il rilevamento dell'evoluzione della catena di fornitura, l'analisi della distribuzione geografica degli asset, il rilevamento della community tramite algoritmi di clustering e la correlazione delle informazioni dettagliate sui grafici con l'analisi dei log tradizionale e l'intelligenza esterna.