Neo4j | |
---|---|
Typ | Graf DBMS |
Vývojář | Neo technologie |
Zapsáno v | Java a Scala |
První vydání | února 2010 [1] |
Hardwarová platforma | Java virtuální stroj |
Nejnovější verze | |
Testovací verze | 3.4.0 alpha10 (20. března 2018 ) |
Licence | GNU GPL 3 [3] a AGPL v3.0 [3] |
webová stránka | neo4j.com |
Mediální soubory na Wikimedia Commons |
Neo4j je open source systém pro správu grafové databáze implementovaný v Javě . Od roku 2015 je považován za nejběžnější graf DBMS [4] . Developerem je americká společnost Neo Technology, vývoj probíhá od roku 2003 [5] .
Data jsou ukládána ve vlastním formátu, speciálně upraveném pro prezentaci grafových informací, tento přístup ve srovnání s modelováním grafové databáze pomocí relačního DBMS umožňuje dodatečnou optimalizaci v případě dat se složitější strukturou [6] . Uvádí se také, že pro SSD disky existují speciální optimalizace, přičemž zpracování grafu nevyžaduje celé jeho umístění v RAM výpočetního uzlu, je tedy možné zpracování dostatečně velkých grafů.
Hlavní transakční vlastnosti [7] jsou podpora ACID a soulad se specifikacemi JTA , JTS a XA . DBMS Application Programming Interface bylo implementováno pro mnoho programovacích jazyků, včetně Javy , Pythonu , Clojure , Ruby , PHP a bylo také implementováno rozhraní API ve stylu REST . Programovací rozhraní můžete rozšířit jak pomocí pluginů na straně serveru, tak pomocí nespravovaných rozšíření ( unmanaged extensions ); pluginy mohou přidávat nové prostředky do rozhraní REST pro koncové uživatele a rozšíření vám umožňují převzít plnou kontrolu nad API a mohou obsahovat libovolný kód, takže je třeba je používat opatrně [8] .
DBMS používá svůj vlastní dotazovací jazyk - Cypher , ale dotazy lze provádět i jinými způsoby, například přímo přes Java API a v jazyce Gremlin vytvořeném v open source projektu TinkerPop. Cypher není pouze dotazovací jazyk, ale také jazyk pro manipulaci s daty, protože poskytuje funkce CRUD pro ukládání grafů [9] .
Systémy pro správu databází (DBMS) | |
---|---|
Klient-server | |
Motory | |
Souborový server |