Base di dati a grafo

Da Wikipedia, l'enciclopedia libera.

Una base di dati a grafo, o database a grafo, usa nodi e archi per rappresentare e archiviare l'informazione. La rappresentazione dei dati mediante grafi offre un'alternativa al modello relazionale che fa uso di tabelle, ai database orientati al documento (che usano documenti), o altri, come i sistemi ad archivi strutturati (structured storage) basati su colonne o su cesti non interpretati di dati.

I database a grafo sono spesso più veloci di quelli relazionali nell'associazione di insiemi di dati, e mappano in maniera più diretta le strutture di applicazioni orientate agli oggetti. Scalano più facilmente a grandi quantità di dati e non richiedono le tipiche e onerose operazioni di unione (join). Dipendono meno da un rigido schema entità-relazione e sono molto più adeguati per gestire dati mutevoli con schemi evolutivi. Al contrario, i database relazionali sono tipicamente più veloci nell'eseguire le stesse operazioni su un grande numero di dati.

Modelli di riferimento[modifica | modifica sorgente]

Quando si parla di modelli dei dati basati su grafo è inevitabile fare riferimento alla teoria dei grafi. Attualmente, i due modelli di riferimento per l'implementazione dei database a grafo sono due: il property graph model e il resource description framework graph (RDF). Il primo fa riferimento principalmente al progetto Tinkerpop, mentre il secondo è il modello di riferimento del Web semantico. I database a grafo che utilizzano il modello RDF sono anche noti come Triple Store, Quad Store, o RDF Store.

I due modelli non sono del tutto coincidenti, anche se solitamente il passaggio da uno all'altro è molto intuitivo. Per entrambi esistono dei linguaggi di interrogazione specifici, ma solo per RDF esiste uno standard riconosciuto in SPARQL.

Progetti di database a grafo[modifica | modifica sorgente]

Di seguito un elenco di vari progetti su basi di dati a grafo molto conosciuti:

  • HyperGraphDB - un database a grafo open source (LPGL) che supporta ipergrafi generalizzati dove gli archi possono puntare ad altri archi
  • InfoGrid - una base di dati a grafo open source (AGPLv3) con interfaccia web
  • Neo4j - un database a grafo commerciale e open source (AGPLv3)[1]
  • OrientDB - database orientato al documento, ma con una gestione ottimizzata delle relazioni fra documenti come avviene in un database a grafo. Il linguaggio di query SQL like contiene estensioni per la gestione di alberi e grafi. Open source con licenza commercial friendly (Apache License)
  • DEX - un database a grafo ad alte prestazioni

Note[modifica | modifica sorgente]

  1. ^ Neo Technology | Neo4j: The World’s Leading Graph Database - Neo4j Product Overview

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica