Baza de date grafice

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
GraphDatabase PropertyGraph.png

În informatică, o bază de date cu grafice sau o bază de date cu grafice este un tip de bază de date care utilizează noduri și arce pentru a reprezenta și stoca informații . Reprezentarea datelor prin grafice oferă o alternativă la modelul relațional care folosește tabele, baza de date orientată a documentelor (folosind documente) sau altele, cum ar fi sisteme pentru fișiere structurate (stocare structurată) pe bază de coloane sau date interpretate fără coșuri.

Bazele de date grafice sunt adesea mai rapide decât bazele de date relaționale la asocierea seturilor de date și mapează structurile aplicațiilor orientate obiect mai direct. Scalează mai ușor la cantități mari de date și nu necesită operațiuni tipice și costisitoare de asociere . Ele sunt mai puțin dependente de un model rigid de relație entitate și sunt mult mai adecvate pentru tratarea datelor schimbătoare cu modele evolutive. În schimb, bazele de date relaționale sunt de obicei mai rapide la efectuarea acelorași operațiuni pe o cantitate mare de date.

Modele de referință

Când vorbim despre modele de date bazate pe graf, este inevitabil să ne referim la teoria graficelor . Inițial, existau două modele de referință pentru implementarea bazelor de date grafice: modelul graficului de proprietăți și graficul cadru de descriere a resurselor ( RDF ). Primul se referă în principal la proiectul Tinkerpop , în timp ce acesta din urmă este modelul de referință al web-ului semantic . Bazele de date grafice care utilizează modelul RDF sunt cunoscute și sub numele de Triple Store , Quad Store sau RDF Store .

Cele două modele nu sunt în totalitate coincidente, deși tranziția de la unul la altul este de obicei foarte intuitivă. Pentru ambele există limbaje de interogare specifice, dar numai pentru RDF există un standard recunoscut în SPARQL . Ulterior, au fost dezvoltate altele, urmând modelele existente până în prezent,

  • Model de date al graficului de bază : grafic direct cu noduri și margini etichetate de un anumit vocabular (Ex. Gram) [1]
  • Model de date hipernod : Se bazează pe generalizarea graficului: cu hipernord și hiperarhi, permite crearea de obiecte complexe, dependențe funcționale și moștenire structurală multiplă [1]
  • Model de date hipernod cu grafice imbricate : model în care un hipernod poate fi el însuși un grafic [1]
  • Model de date RDF : model recomandat de W3C pentru a reprezenta metadatele [1]
  • Model de date ale graficului de proprietate : model multigrafic direct, etichetat, atribut (proprietate) cu arcuri multiple între noduri (Neo4j, Sparksee / DEX, InfiniteGraph) [1]

Interogări ale bazelor de date ale graficului

Următoarele sunt tipurile de interogări utilizate în bazele de date din graficul [1] :

  • Interogare de potrivire a modelelor (interogare pentru potrivirea unei configurații)

Exemplu: returnează persoane al căror atribut de nume se potrivește cu „James”.

 ## SPARQL 1.0 și SPARQL 1.1
SELECT ? X
DE LA <http://www.socialnetwork.org>
WHERE { ? X sn : firstName "James" }
## G-SPARQL
SELECT ? X
WHERE { ? X @firstName "James" }
## CYPHER
MATCH ( persoană : persoană )
UNDE persoană . firstName = "James"
  • Interogare de adiacență
  • Interogare de accesibilitate

Exemplu: găsiți numele persoanelor la care poate fi contactat „James” din relația „știe”.

 ## SPARQL 1.1
PREFIX sn : <http://www.socialnetwork.org/>
ALEGE ? N
UNDE { ? X sn : tip sn : Persoană . ? X sn : prenume "James" .
? X sn: * știe? Y.
? Y sn : firstName ? N }
PROIECT
## G-SPARQL
ALEGE ? N
WHERE { ? X @type "Persoană" . ? X @firstName "James" .
? X * știe? Y.
? Y @firstName ? N }
## CYPHER
MATCH ( James : Persoană ) - [: știe * ] - ( Persoană accesibilă : Persoană )
UNDE james . firstName = "James"
RETURN DISTINCT Persoană accesibilă
  • Grafic Interogare analitică

Care sunt declinate în limbile: SPARQL , G-SPARQL și Cypher [1] .

Sisteme de gestionare a bazelor de date grafice

Sistemele de gestionare a bazelor de date grafice sunt clasificate în două categorii: baze de date grafice și cadre de procesare a graficelor [1] . Primii au obiectivul de a gestiona constant datele care să permită arhivarea transactionally și accesul într - un mod persistent, acesta din urmă în loc să furnizeze lot procese și analize pe grafice mari , de multe ori într - un mediu distribuit cu mai multe mașini [1] .

Baza de date grafice

Bazele de date grafice native sunt după cum urmează:

  • AllegroGraph [3],
  • Bitsy [9],
  • Cayley
  • GraphBase
  • Graphd
  • HyperGraphDB
  • IBM System G
  • imGraph
  • InfiniteGraph
  • InfoGrid
  • Neo4j
  • OrientDB Arhivat 2 februarie 2017 la Internet Archive .
  • Sparksee / DEX
  • Treime
  • TurboGraph
  • Amazon Neptun

Mai jos sunt baze de date cu grafice non-native:

  • Titan suport: Apache Cassandra, Apache HBase și Oracle BerkeleyDB
  • FlockDB este o bază de date distribuită orientată către grafic, care folosește MySQL ca motor;
  • ArangoDB
  • OQGRAPH, care este un motor de calcul grafic pentru MySQL, MariaDB și Drizzle
  • VelocityGraph: bază de date orientată obiect, care acceptă grafice
  • Horton

Cadrele de procesare a graficelor

sisteme analitice de grafic fără rețea:

Sisteme generice de procesare a datelor și pentru grafice:

Proiecte de baze de date grafice

Mai jos este o listă cu diverse proiecte pe baze de date grafice bine-cunoscute:

  • AllegroGraph
  • ArangoDB
  • DEX - o bază de date de grafică de înaltă performanță
  • HyperGraphDB - o bază de date a graficelor open source (LPGL) care acceptă hipergrafe generalizate unde marginile pot indica alte margini
  • HyperGraphDB
  • Magazin nativ IBM System G
  • InfoGrid - o bază de date cu grafice open source (AGPLv3) cu interfață web
  • Neo4j - o bază de date cu grafice comerciale și open source (AGPLv3) [2]
  • OhmDB
  • Ontotext GraphDB
  • OpenLink Virtuoso
  • Oracle spațial și grafic
  • OrientDB Arhivat 2 februarie 2017 la Internet Archive . - baza de date orientată spre documente, dar cu o gestionare optimizată a relațiilor dintre documente, așa cum se întâmplă într-o bază de date cu grafice. Limbajul de interogare de tip SQL conține extensii pentru gestionarea arborilor și a graficelor. Open source cu licență comercială prietenoasă ( licență Apache )
  • Teradata Aster
  • VertexDB

Notă

  1. ^ a b c d e f g h i Introducere în gestionarea datelor grafice de Renzo Angles și Claudio Gutierrez
  2. ^ Neo Tehnologie | Neo4j: Baza de date a graficelor din lume - Prezentare generală a produsului Neo4j Arhivat 26 martie 2010 la Arhiva Internet .

Elemente conexe

linkuri externe

  • Gremlin - Un limbaj de programare open source care funcționează pe diverse baze de date grafice
  • ( EN ) Ghid privind bazele de date grafice , pe infogrid.org . Adus pe 29 mai 2010 (arhivat din original la 15 mai 2010) .
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT