Base di dati a grafo
Una Base di dati a grafo o Database a grafo usa nodi e archi per rappresentare e archiviare l'informazione. Questo è un modello alternativo al modello relazionale che usa tabelle, ai database orientati al documento (che usa 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 set di dati, e mappano più direttamente le strutture di applicazioni orientate agli oggetti. Scalano più facilmente a grandi quantità di dati e non richiedono le tipiche e costose operazioni di unione (join). Dipendono di meno da un rigido schema ER, 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.
Indice |
Modelli di Riferimento [modifica]
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 Basi di dati a grafo [modifica]
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 open source (AGPLv3)[1] database a grafo
- 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]
Voci correlate [modifica]
- Resource Description Framework - Formato di descrizione delle risorse, alla base del Web semantico, basato su un modello dei dati a grafo
- Grafo
Collegamenti esterni [modifica]
- Gremlin - Un linguaggio di programmazione open source a grafo che lavora su vari database a grafo
- (EN) Guida sui Database a grafo