What you can't do with Neo4j
ArangoDB offers the same functionality as Neo4j with more than competitive performance, plus several additional features:
- Multi-Model: Neo4j is a single-model graph database. It does not support any other data models. If your application requires a document or key/value store, you would have to use a second database technology to support it. Being multi-model, ArangoDB allows you to not only use one database for everything,but run ad hoc queries on data stored in different models.
- Scalability: Scaling graph collections over many instances is technically a hard task. But with ArangoDB it is possible to minimize the network-hop problem and run queries highly efficient even against distributed graph data. Neo4j does not support this.
- Extensibility:Use existing data-centric microservices or run your own in a dedicated JavaScript framework within ArangoDB, providing a single API call for complex graph traversals.
- Performance: In ArangoDB you can use the same collection for a graph and for a document query without performance losses. ArangoDB showed competitive or even better performance.
- Operational costs: ArangoDB can be used for a broad range of use cases and reduces the number of storage products in your technology stack.
Scalability needs and ArangoDB
ArangoDB is cluster ready for graphs, documents and key/values. ArangoDB is suitable for e.g. recommendation engines, personalization, Knowledge Graphs or other graph-related use cases. ArangoDB provides special features for scale-up (Vertex-centric indices) and scale-out (SmartGraphs).
We use ArangoDB for our dPaaS solution Alloy™ Health Platform. ArangoDB is a perfect fit for the shape of our data and the shape of our queries, for both document and graph needs.
Brad Anderson, VP Big Data Analytics Liaison Technologies
You can also check out a more detailed AQL (ArangoDB Query Language) to Neo4j Cypher comparison.
High-Level Overview
Feature | Neo4J | ArangoDB |
---|---|---|
General |
||
Initial Release | 2007 | 2012 |
License | AGPLv3 / Commercial | Apache 2 / Commercial |
Commercial Friendly License | no | yes |
Written in | Java | C++ |
Data-Model | graph | multi-model document, graph, key-value |
Schema free | yes | yes schema validation with Foxx |
Data format | JSON | JSON / VelocyPack |
Data Storage | Neo4j graph storage | MMFiles/RocksDB |
Cluster | ||
Auto-Sharding | no | yes |
Replication | async | sync / async |
Replication conflict resolution | Master/Agent | Master/Master Master/Agent |
Elastic Scalability | no | yes with DC/OS |
Zero Configuration | no | yes |
native Apache Mesos Support | no | fully certified by Mesosphere including persitent primitives |
Transactions | ||
Transaction Model | ACID | ACID |
Multi-Document Transactions | yes | yes* (single instance) |
Multi-Collection Transactions | yes | yes* (single instance) |
Querying | ||
Declarative Query Language | Neo4j Cypher | AQL One sql-like query language for all data-models |
Relations | edges | edges |
Relational Joins | no | yes |
Advanced path-finding with multiple algorithms | yes | yes |
TinkerPop Support | yes | yes |
Text search (indexing / queries) | yes / yes | yes / yes |
Geospatial (indexing / queries) | yes / yes | yes / yes |
Extensibility | ||
Mode | Server-side Java plugins | Microservice framework Foxx based on Google V8 ** |
Server-Side Functions | yes | yes |
Security | ||
Encryption | no | TLS / SSL |
Authentication | yes | yes |
Role-based access control | yes | yes *** Attribute level vvia Foxx framework |
Auditing | no | yes (enterprise version) |
Administration | ||
Web-based GUI (self-contained) | yes | yes |
Cluster friendly GUI | no | yes |
* In single server setups, ArangoDB supports full ACID transactions for multi-document & multi-collection transactions. In a cluster setup, ArangoDB only supports multi-document & multi-collection transactions for non-sharded collections. Single document transactions are supported for shared collections.
** Easily create a REST API for data centric use cases and adds any missing functionality.
*** ArangoDB supports all basic security requirements. By using ArangoDB’s Foxx microservice framework users can achieve very high security standards fitting individual needs.
Performance Benchmark of ArangoDB
Benchmarks continue to show competitive to superior performance in ArangoDB over single-model databases, like MongoDB, Neo4j and PostgreSQL, as well as other multi-model databases, like OrientDB.
Our complete benchmark series is open source. It investigates how databases perform in some of the most common operations, such as single read/writes, single write sync, aggregation, shortest paths, neighbors, neighbors with profiles, and memory usage.
For more information,
Related content:
- Comparing AQL to Cypher
- Graph Course for Freshers
- SmartGraphs in ArangoDB