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 query a collections over different instances (depends on use case)
- 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 or other graph-related use cases. Tests showed higher performance than Neo4j.
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
|License||AGPLv3 / Commercial||Apache 2 / Commercial|
|Commercial Friendly License||no||yes|
document, graph, key-value
|Complex Domains||labels (multiple)||edges are documents without any restriction in complexity|
schema validation with Foxx
|Data format||JSON||JSON / VelocyPack|
|Data Storage||Neo4j graph storage||MMFiles/RocksDB|
|Replication||async||sync / async|
|Replication conflict resolution||Master/Agent||Master/Master
|Elastic Scalability||no||yes with DC/OS|
|native Apache Mesos Support||no||fully certified
including persitent primitives
|Declarative Query Language||Neo4j Cypher||AQL
One sql-like query language for all data-models
|Advanced path-finding with multiple algorithms||yes||yes|
|Text search (indexing / queries)||yes / yes||yes / yes|
|Geospatial (indexing / queries)||yes / yes||yes / yes|
|Mode||Server-side Java plugins||Microservice framework Foxx
based on Google V8 **
|Encryption||no||TLS / SSL|
|Role-based access control||no||yes ***
Attribute level vvia Foxx framework
|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.
Overall Results: Performance Benchmark (February 2018)