Che cos'è un Visual o Graph Database?
Si tratta di un approccio per gestire e archiviare informazioni fornendo anche una visualizzazione grafica della struttura dell'archivio e delle relazioni fra record.
Questi database usano nodi, link, proprietà, tag e categorie per rappresentare i dati.
I nodi sono gli elementi nel grafico che rappresentano un oggetto (record), i link sono le connessioni fra i nodi e rapppresentano le relazioni, tag e categorie descrivono i contenuti del nodo all'interno del grafico.
Ciò consente un'archiviazione più efficiente e query più complesse rispetto a quanto si può ottenere con i tradizionali database relazionali come SQL, che memorizzano le relazioni in tabelle di colonne e righe.
Con un database grafico, le informazioni possono essere interrogate più velocemente perché non devono attraversare più connessioni o unire tabelle come avviene in un sistema di database relazionale.
La flessibilità dell'utilizzo dei grafici li rende vantaggiosi per determinate attività rispetto ai tradizionali sistemi di database relazionali come i server SQL.
Questi vantaggi includono:
- migliore scalabilità grazie alla facilità di aggiungere nuovi dati senza influire sul codice esistente;
- query flessibili grazie alla capacità di interrogare grandi raccolte di dati correlati;
- migliori prestazioni grazie al minor numero di strati necessari per attraversare i dati; e modellazione più semplice grazie al fatto che tutte le relazioni sono standardizzate.
I database "grafici" possono essere utilizzati per molti tipi diversi di applicazioni, inclusi sistemi di rilevamento, tecniche di ottimizzazione del percorso, analisi di rete, sistemi di business intelligence e ricerche Web che si basano sulla connessione tra più fonti.
Esempi popolari di database grafici includono Neo4j (che è ampiamente utilizzato per le applicazioni aziendali) e Dgraph (che fornisce supporto nativo per le modifiche RDF).
Altre opzioni popolari includono Amazon Neptune (un'opzione cloud-native), JanusGraph (un'altra popolare scelta open source) piattaforma Apache Spark PDF e FlockDB (per cluster distribuiti).
Accanto a questi strumenti vi sono poi molti software appartenenti alla stessa categoria (sono database relazionali a tutti gli effetti) ma con una implementazione e gestione semplificata per applicazioni meno impegnative.
Lavorare con i grafici richiede spesso competenze specialistiche, quindi l'assunzione di sviluppatori esperti può essere più costosa rispetto a stack tecnologici più convenzionali.
Inoltre, gestire grafici complessi significa anche gestire prestazioni di query lente quando si eseguono operazioni di grandi dimensioni su enormi set di dati.
Tuttavia, questo può essere superato attraverso un'indicizzazione adeguata o l'esecuzione di volumi più semplici invece di interi set di dati contemporaneamente.
Secondo il rapporto Forrester del 2017 sul panorama delle tecnologie emergenti, i database a grafo hanno guadagnato terreno intorno al 2014. Le aziende tecnologiche sono state pioniere, ma molte aziende hanno ora adottato questa tecnologia in tutti i settori, dalla finanza/bancaria, sanità, vendita al dettaglio, ecc.
|