Neo4j vs ArangoDB vs OrientDb - adilnumancelik/sonar GitHub Wiki
| Criteria\GraphDB | Neo4j | ArangoDB | OrientDb |
|---|---|---|---|
| Description | Open source graph database | Native multi-model DBMS for graph, document, key/value and search. All in one engine and accessible with one query language. | Multi-model DBMS (Document, Graph, Key/Value) |
| Primary Functionality | Graph DBMS | Document store, Graph DBMS, Key-value store, Search engine | Document store, Graph DBMS, Key-value store |
| APIs and other access methods | Bolt protocol, Cypher query language, Java API, Neo4j-OGM info, RESTful HTTP API, Spring Data Neo4j, TinkerPop 3 | AQL, Foxx Framework, Graph API (Gremlin), GraphQL query language, HTTP API, Java & SpringData, JSON style queries, VelocyPack/VelocyStream | Tinkerpop technology stack with Blueprints, Gremlin, Pipes, Java API, RESTful HTTP/JSON API |
| Supported Programming Languages | .Net, Clojure, Elixir, Go, Groovy, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala | C#, C++, Clojure, Elixir, Go, Java, JavaScript (Node.js), PHP, Python, R, Rust | .Net, C, C#, C++, Clojure, Java, JavaScript, JavaScript (Node.js), PHP, Python, Ruby, Scala |
| Pricing | Free version available | Free version available | Free version available |
| Pros | *Robust graph visualization tools *Graph edges can store labels *Less Java infrastructure code needed for implementation than ArangoDB |
*Graph edges can also store data values similar to data Nodes *Intuitive and rich query language *Grahps and documents in one DB |
*SQL-like query language *Supports Object-Oriented concept of class inheritance |
| Cons | *Can't store a vertex as JSON *Comparably slow *One graph per Neo4j instance |
*Web ui has still room for improvement *No support for blueprints standard, using custom AQL |
*Unstable *Minimal documentation and Java examples *Class inheritance can add unneeded complexity |
Soruces: