En grafdatabas är en sorts databas med implementering av en nätverksmodell i form av en graf och dess generaliseringar. Graph DBMS är ett grafdatabashanteringssystem.
Informationslagringsmodellen i form av grafer, grafer med egenskaper vid noder och hypergrafer utvecklades 1990-2000 [1] , även om användningen av grafer som datarepresentationsmodell har utvecklats sedan 1980 -talet [1] . Den första grafen DBMS Neo4j skapades 2007. Från och med början av 2020-talet finns det dussintals andra grafiska DBMS:er.
Grafdatamodellen betraktas vanligtvis som en generalisering av RDF - modellen eller nätverksdatamodellen [1] . Huvudelementen i modellen är noder och länkar. Beroende på implementeringen av noder och kanter är grafdatamodellen uppdelad i flera undertyper.
I graf-DBMS separerar de som regel lagringsundersystemet ( eng. underliggande lagring ) och bearbetningsmotorn ( eng. processing engine ) [2] .
För analytiskt arbete med stora mängder data i globala grafer används specialiserade grafberäkningsmotorer . Till skillnad från graf-DBMS, som huvudsakligen är inriktat på OLTP- applikationer, använder grafberäkningssystem metoder och optimeringsmetoder som är inneboende i OLAP . Det finns olika implementeringar av mekanismer för grafberäkning, både resident ( engelska in-memory ) och med användning av icke-flyktiga lagringsenheter, båda körs på en enda nod och distribuerade (körs på flera noder samtidigt) [2] .
Grafdatabaser används för att modellera sociala grafer (sociala nätverk) [3] , inom bioinformatik, såväl som för den semantiska webben [4] . För uppgifter med en naturlig grafdatastruktur kan graf-DBMS:er avsevärt överträffa relationella sådana i prestanda, och har även fördelar i visuell presentation och enkelhet att göra ändringar i databasschemat [5] .
Några välkända grafiska DBMS [6] [7] [2] :