Video: Vizzuality: Los mapas que te ayudan a entender el Big Data 2024
La struttura fondamentale per i database di grafi nei big data si chiama "node-relationship. "Questa struttura è molto utile quando devi gestire dati altamente interconnessi. I nodi e le relazioni supportano proprietà , una coppia chiave-valore in cui i dati sono memorizzati.
Questi database sono navigati seguendo le relazioni. Questo tipo di archiviazione e navigazione non è possibile negli RDBMS (sistemi di gestione dei database relazionali) a causa delle rigide strutture della tabella e dell'impossibilità di seguire le connessioni tra i dati ovunque essi possano condurci. Un database grafico può essere utilizzato per gestire i dati geografici per l'esplorazione petrolifera o per modellare e ottimizzare le reti di un fornitore di telecomunicazioni.
Uno dei database di grafi più usati è Neo4J. È un progetto open source concesso sotto licenza GNU public v3. 0. Una versione commerciale supportata è fornita da Neo Technology sotto GNU AGPL v3. 0 e licenze commerciali.
Neo4J è un database di transazioni ACID che offre un'elevata disponibilità attraverso il clustering. È un database affidabile e scalabile che è facile da modellare a causa della struttura fondamentale delle proprietà del nodo-relazione e della sua naturalezza con le nostre relazioni umane. Non richiede uno schema, né richiede la digitazione dei dati, quindi è intrinsecamente molto flessibile.
Con questa flessibilità ci sono alcune limitazioni. I nodi non possono fare riferimento direttamente a se stessi. Ad esempio, tu (come nodo) non puoi anche tuo padre o madre (come relazioni), ma puoi essere a padre o madre. Potrebbero esserci casi reali in cui è necessario il riferimento personale.
In tal caso, un database grafico non è la soluzione migliore poiché le regole sull'autoreferenzialità sono rigorosamente applicate. Mentre la capacità di replica è molto buona, Neo4J può solo replicare interi grafici, ponendo un limite alle dimensioni complessive del grafico (circa 34 miliardi di nodi e 34 miliardi di relazioni).
Le caratteristiche importanti di Neo4J includono:
-
Integrazione con altri database: Neo4J supporta la gestione delle transazioni con il rollback per consentire l'interoperabilità senza interruzioni con gli archivi dati non grafici.
-
Servizi di sincronizzazione: Neo4J supporta i comportamenti basati su eventi tramite un bus eventi, la sincronizzazione periodica con se stesso o un RDBMS come master e la sincronizzazione batch tradizionale.
-
Resilienza: Neo4J supporta i backup a freddo (ovvero quando il database non è in esecuzione) e a caldo (quando è in esecuzione), oltre a una modalità di clustering ad alta disponibilità.Sono disponibili avvisi standard per l'integrazione con i sistemi di gestione delle operazioni esistenti.
-
Lingua di query: Neo4J supporta un linguaggio dichiarativo chiamato Cypher, progettato specificamente per interrogare i grafici e i loro componenti. I comandi di Cypher sono liberamente basati sulla sintassi SQL e sono destinati a query ad hoc dei dati del grafico.
Le implementazioni Neo4J sono più adatte per
-
Social networking
-
Classificazione di domini biologici o medici
-
Creazione di comunità dinamiche di pratica o interesse