Neo4j

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 ) ( 2018-03-20 )
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] .

Noter

  1. https://neo4j.com/blog/neo4j-1-0-released/
  2. https://neo4j.com/release-notes/database/neo4j-5/
  3. 1 2 https://github.com/neo4j/neo4j
  4. DB-Engines-rangering af graf-DBMS . Hentet 17. april 2015. Arkiveret fra originalen 8. marts 2019.
  5. Shashank Tiwari, Shashank Tiwari. Professionel NoSQL . — John Wiley & Sons, 2011. — S.  19–20 . — ISBN 978-1-118-16780-9 .
  6. Raj, 2015 , s. 16.
  7. Raj, 2015 , kapitel 1.
  8. Gupta, 2015 , s. 168-169.
  9. Holzschuher, Florian og Peinl, Rene (2013). "Ydeevne af Graph Query Languages: Sammenligning af Cypher, Gremlin og Native Access i Neo4J." Proceedings of the Joint EDBT/ICDT 2013 Workshops . EDBT '13. Genova, Italien: ACM. pp. 195-204. DOI : 10.1145/2457317.2457351 . Hentet 2015-04-19 . |access-date=kræver |url=( hjælp )

Litteratur

Derudover

Links