one query background
background img

What you can't do with MongoDB

  • Multi-model: MongoDB is a single-model document database. It does not support any other data models. If your application requires a graph 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 both, but run ad-hoc queries on data stored in different models.
  • Joins: Using and scaling joins over different collections and instances is not supported by MongoDB (scalability depends on the use case).
  • Declarative Query Language: MongoDB uses JSON syntax for queries. It does not support a declarative query language. By contrast, ArangoDB developed its own SQL-like query language (AQL) for complex queries, allowing the combination of access patterns in a single query
  • Complex Transactions: Use complex transactions to span multiple documents and collections, or to run aggregations. Complete Isolation in the cluster available
  • Extensibility: Additionally, ArangoDB allows you to use existing or run your own data-centric microservices in a dedicated JavaScript framework: Foxx.

Scalability needs and ArangoDB
ArangoDB is cluster ready for document, key/value and even for graph-models. With ArangoDB 3.x releases further improvements are being made for performant cluster usage with graphs.

ArangoDB is perfectly suitable for high-availability, high-performance or any other use case a document store might be challenged with.

Scalability vs Complexity 1536x1002

By reducing development effort and enabling data-model flexibility, ArangoDB is designed for fast development and easy scaling.  With the Foxx Microservices Framework, you can build production-ready session services within minutes.

We use ArangoDB and it’s flexible multi-model approach. What we found was ease of use and a stunning 50% less development effort by using ArangoDBs framework Foxx.

(Florian Krause, Head of development – ABOUT YOU, Otto-Group)

"Interested in a more hands-on comparison? Go through our 10 min tutorial on Modelling data in ArangoDB and MongoDB including simple and more complex query examples."

High-Level Overview

Feature MongoDBArangoDB
General
Initial Release 20092012
License AGPLv3 / CommercialApache 2 / Commercial
Commercial Friendly Licensenoyes
Written inC++C++
Data-Modeldocumentmulti-model
documents, graphs, key-value
Schema freeyes
additional schema validation
yes
schema validation with Foxx
Data formatJSON / BSONJSON / VelocyPack
Data StorageMMAPv1/WIREDTIGERMMFiles/RocksDB
Persistence to diskyesyes
Journalingyesyes
Cluster
Auto-Shardingyesyes
Replicationasyncsync / async
Replication conflict resolutionMaster/AgentMaster/Master
Master/Agent
Elastic Scalabilitynoyes (also on K8s)
Zero Configurationnoyes
native Apache Mesos Supportnoyes,
including persistent primitives
Transactions
Transaction ModelACIDACID
Multi-Document Transactionsyesyes*
Multi-Collection Transactionsyesyes*
Querying
Declarative Query LanguageNoAQL
One sql-like query language for all data-models
JoinsAggregation Frameworkno
Advanced path-finding with multiple algorithmsnoyes
TinkerPop Supportnoyes
Text search (indexing / queries)yes / yesyes / yes
Geospatial (indexing / queries)yes / yesyes / yes
Extensibility
Microservice SupportNo
(only JS for map/reduce jobs)
Microservice framework Foxx
based on Google V8 **
Server-Side Functionsyesyes
Security
EncryptionTLS / SSLTLS / SSL
Authenticationyesyes
Role-based access controlyesyes ***
Attribute level via Foxx framework
Auditingyes
(enterprise version)
yes
(enterprise version)
Administration
Web-based GUI (self-contained)noyes
Cluster friendly GUInoyes

* 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 add 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.