Neo4j | |
---|---|
Type | Graf DBMS |
Udvikler | Neo teknologi |
Skrevet i | Java og Scala |
Første udgave | februar 2010 [1] |
Hardware platform | Java virtuel maskine |
nyeste version |
|
Test version | 3.4.0 alpha10 (20. marts 2018 ) |
Licens | GNU GPL 3 [3] og AGPL v3.0 [3] |
Internet side | neo4j.com |
Mediefiler på Wikimedia Commons |
Neo4j er et open source grafdatabasestyringssystem implementeret i Java . Fra 2015 betragtes det som den mest almindelige graf-DBMS [4] . Udvikleren er det amerikanske firma Neo Technology, udviklingen har været udført siden 2003 [5] .
Dataene er lagret i sit eget format, specielt tilpasset til præsentation af grafinformation, denne tilgang, i sammenligning med modellering af en grafdatabase ved hjælp af en relationel DBMS , tillader yderligere optimering i tilfælde af data med en mere kompleks struktur [6] . Det oplyses også, at der er specielle optimeringer til SSD -drev, mens behandling af grafen ikke kræver hele dens placering i computerknudepunktets RAM, så det er muligt at behandle tilstrækkeligt store grafer.
De vigtigste transaktionsfunktioner [7] er ACID- understøttelse og overholdelse af JTA- , JTS- og XA- specifikationerne . DBMS Application Programming Interface er blevet implementeret til mange programmeringssprog, herunder Java , Python , Clojure , Ruby , PHP , og en REST -stil API er også blevet implementeret . Du kan udvide programmeringsgrænsefladen både ved hjælp af server-side plugins og ved hjælp af ikke-administrerede udvidelser ( unmanaged extensions ); plugins kan tilføje nye ressourcer til REST-grænsefladen for slutbrugere, og udvidelser giver dig mulighed for at tage fuld kontrol over API'et og kan indeholde vilkårlig kode, så de bør bruges med omhu [8] .
DBMS'et bruger sit eget forespørgselssprog - Cypher , men forespørgsler kan laves på andre måder, for eksempel direkte gennem Java API'et og i Gremlin sproget , der er oprettet i TinkerPop open source-projektet. Cypher er ikke kun et forespørgselssprog, men også et datamanipulationssprog, da det giver CRUD -funktioner til graflagring [9] .
Databasestyringssystemer (DBMS) | |
---|---|
Klient-server | |
Motorer | |
Filserver |