arangodb
🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
Top Related Projects
Free and Open Source, Distributed, RESTful Search Engine
The MongoDB Database
Apache Cassandra®
Graphs for Everyone
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.
high-performance graph database for real-time use cases
Quick Overview
ArangoDB is a multi-model, open-source database system that combines the capabilities of document, graph, and key/value databases. It offers a flexible data model, powerful query language (AQL), and high performance for complex data operations, making it suitable for a wide range of applications.
Pros
- Versatile multi-model approach supporting documents, graphs, and key/value pairs
- Powerful and flexible query language (AQL) for complex data operations
- Scalable architecture with support for clustering and sharding
- Active development and community support
Cons
- Steeper learning curve compared to single-model databases
- Less mature ecosystem compared to some established NoSQL databases
- Resource-intensive for small-scale applications
- Limited third-party tool integration compared to more popular databases
Getting Started
-
Install ArangoDB:
# For Ubuntu/Debian curl -OL https://download.arangodb.com/arangodb39/DEBIAN/Release.key sudo apt-key add - < Release.key echo 'deb https://download.arangodb.com/arangodb39/DEBIAN/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list sudo apt-get update sudo apt-get install arangodb3=3.9.1-1
-
Start ArangoDB:
sudo systemctl start arangodb3
-
Access the web interface: Open a web browser and navigate to
http://localhost:8529
-
Connect using arangosh (ArangoDB shell):
arangosh
-
Create a database and collection:
db._createDatabase("mydb"); db._useDatabase("mydb"); db._create("mycollection");
-
Insert and query data:
db.mycollection.insert({ name: "John Doe", age: 30 }); db.mycollection.toArray();
For more detailed instructions and advanced usage, refer to the official ArangoDB documentation.
Competitor Comparisons
Free and Open Source, Distributed, RESTful Search Engine
Pros of Elasticsearch
- Highly scalable and distributed, excelling in handling large-scale data and concurrent searches
- Powerful full-text search capabilities with advanced features like fuzzy matching and relevance scoring
- Extensive ecosystem with plugins, integrations, and visualization tools (e.g., Kibana)
Cons of Elasticsearch
- Steeper learning curve, especially for complex queries and configurations
- Higher resource consumption, particularly memory usage for large indices
- Less flexible as a general-purpose database compared to multi-model databases
Code Comparison
Elasticsearch query:
GET /my_index/_search
{
"query": {
"match": {
"title": "elasticsearch"
}
}
}
ArangoDB query:
FOR doc IN my_collection
FILTER LIKE(doc.title, "%arangodb%", true)
RETURN doc
While Elasticsearch uses a JSON-based query DSL, ArangoDB employs AQL (ArangoDB Query Language), which is more SQL-like. Elasticsearch's query structure is optimized for complex full-text searches, whereas ArangoDB's AQL offers a more familiar syntax for developers with SQL background and supports multi-model queries.
Both databases have their strengths, with Elasticsearch excelling in search-intensive applications and ArangoDB offering versatility as a multi-model database. The choice between them depends on specific project requirements and use cases.
The MongoDB Database
Pros of MongoDB
- Larger community and ecosystem, with more third-party tools and integrations
- Better support for horizontal scaling and sharding out of the box
- More extensive documentation and learning resources
Cons of MongoDB
- Less flexible query language compared to ArangoDB's AQL
- Limited support for graph data and traversals
- Higher memory usage, especially for large datasets
Code Comparison
MongoDB query:
db.collection.find({
age: { $gt: 25 },
city: "New York"
}).sort({ name: 1 })
ArangoDB query (using AQL):
FOR doc IN collection
FILTER doc.age > 25 AND doc.city == "New York"
SORT doc.name ASC
RETURN doc
Both databases offer JSON-like document storage and querying. MongoDB uses a more JavaScript-like syntax, while ArangoDB's AQL provides a SQL-inspired language with additional features for graph traversals and complex data manipulations.
ArangoDB offers a multi-model approach, supporting document, graph, and key-value data models in a single database. This can be advantageous for applications requiring diverse data structures and query patterns.
MongoDB excels in horizontal scalability and has a larger ecosystem, making it a popular choice for large-scale applications. ArangoDB, while less widely adopted, offers more flexibility in data modeling and querying, especially for graph-based use cases.
Apache Cassandra®
Pros of Cassandra
- Highly scalable and distributed architecture, ideal for handling massive datasets across multiple nodes
- Strong support for write-heavy workloads with excellent write performance
- Tunable consistency levels, allowing flexibility in balancing consistency and availability
Cons of Cassandra
- Limited support for complex queries and joins compared to ArangoDB's multi-model approach
- Steeper learning curve and more complex configuration, especially for smaller deployments
- Less flexible data modeling options compared to ArangoDB's document and graph capabilities
Code Comparison
Cassandra (CQL)
CREATE TABLE users (
id UUID PRIMARY KEY,
name TEXT,
email TEXT
);
ArangoDB (AQL)
db.users.insert({
_key: "12345",
name: "John Doe",
email: "john@example.com"
});
The code examples highlight the difference in data modeling approaches. Cassandra uses a table-based structure with a defined schema, while ArangoDB allows for more flexible document-based insertions without a rigid schema. ArangoDB's syntax is also more JavaScript-like, which may be more familiar to some developers.
Graphs for Everyone
Pros of Neo4j
- More mature and widely adopted graph database with a larger community
- Powerful Cypher query language specifically designed for graph operations
- Robust enterprise features and support options
Cons of Neo4j
- Limited multi-model support, primarily focused on graph data
- Can be more resource-intensive, especially for large-scale deployments
- Steeper learning curve for developers new to graph databases
Code Comparison
Neo4j (Cypher query):
MATCH (p:Person)-[:KNOWS]->(f:Person)
WHERE p.name = 'Alice'
RETURN f.name AS friend
ArangoDB (AQL query):
FOR p IN Person
FILTER p.name == 'Alice'
FOR f IN 1..1 OUTBOUND p KNOWS
RETURN f.name AS friend
Both databases offer query languages suited for graph operations, but Neo4j's Cypher is more specialized for graph traversals, while ArangoDB's AQL provides a more familiar SQL-like syntax with added graph capabilities. ArangoDB's multi-model approach allows for greater flexibility in data modeling and querying across different data structures within the same database.
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.
Pros of OrientDB
- More mature project with longer development history
- Supports a wider range of data models (document, graph, key/value, object)
- Native support for Java, making it potentially easier for Java developers
Cons of OrientDB
- Less active development and community support compared to ArangoDB
- More complex setup and configuration process
- Limited support for horizontal scaling
Code Comparison
OrientDB query example:
SELECT FROM Customer
WHERE city = 'New York'
AND (orders.size() > 5 OR totalSpent > 1000)
ArangoDB query example:
FOR c IN Customer
FILTER c.city == 'New York'
AND (LENGTH(c.orders) > 5 OR c.totalSpent > 1000)
RETURN c
Both databases support SQL-like query languages, but ArangoDB's AQL is more JavaScript-oriented, while OrientDB's SQL is closer to traditional SQL syntax. ArangoDB's query language may be more intuitive for developers familiar with JavaScript, while OrientDB's syntax might be more comfortable for those with a strong SQL background.
OrientDB offers a wider range of data models out of the box, which can be beneficial for complex data structures. However, ArangoDB's more focused approach on document and graph models, combined with its active development and community support, may make it a more attractive option for many modern applications.
high-performance graph database for real-time use cases
Pros of Dgraph
- Native GraphQL support, allowing for easier integration with GraphQL-based applications
- Designed specifically for graph data, potentially offering better performance for graph-specific queries
- Horizontally scalable architecture, suitable for large-scale distributed deployments
Cons of Dgraph
- Less mature ecosystem compared to ArangoDB, with fewer integrations and tools
- Limited support for traditional relational database operations
- Steeper learning curve for developers not familiar with graph databases
Code Comparison
ArangoDB query example:
FOR user IN users
FILTER user.age > 30
RETURN user.name
Dgraph query example:
{
users(func: gt(age, 30)) {
name
}
}
Both databases offer query languages suited to their respective data models. ArangoDB uses AQL, which is SQL-like, while Dgraph uses GraphQL+-, a GraphQL-inspired language optimized for graph operations.
ArangoDB provides a more versatile multi-model approach, supporting document, key-value, and graph data. Dgraph, on the other hand, focuses exclusively on graph data, potentially offering better performance for graph-specific use cases but with less flexibility for other data models.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME

ArangoDB
ArangoDB is a scalable graph database system to drive value from connected data, faster. Native graphs, an integrated search engine, and JSON support, via a single query language. ArangoDB runs on-prem, in the cloud â anywhere.
ArangoDB Cloud Service
The ArangoGraph Insights Platform is the simplest way to run ArangoDB. You can create deployments on all major cloud providers in many regions with ease.
Getting Started
For the impatient:
-
Test ArangoDB in the cloud with ArangoGraph for free.
-
Alternatively, download and install ArangoDB. Start the server
arangod
if the installer did not do it for you.Or start ArangoDB in a Docker container:
docker run -e ARANGO_ROOT_PASSWORD=test123 -p 8529:8529 -d arangodb
Then point your browser to
http://127.0.0.1:8529/
.
Key Features of ArangoDB
Native Graph - Store both data and relationships, for faster queries even with multiple levels of joins and deeper insights that simply aren't possible with traditional relational and document database systems.
Document Store - Every node in your graph is a JSON document: flexible, extensible, and easily imported from your existing document database.
ArangoSearch - Natively integrated cross-platform indexing, text-search and ranking engine for information retrieval, optimized for speed and memory.
ArangoDB is available in a free and fully featured Community Edition as well as an Enterprise Edition for commercial use and without a dataset size limit.
Core Features
- Horizontal scalability: Seamlessly shard your data across multiple machines.
- High availability and resilience: Replicate data to multiple cluster nodes, with automatic failover.
- Flexible data modeling: Model your data as combination of key-value pairs, documents, and graphs as you see fit for your application.
- Work schema-free or use schema validation for data consistency. Store any type of data - date/time, geo-spatial, text, nested.
- Powerful query language (AQL) to retrieve and modify data - from simple CRUD operations, over complex filters and aggregations, all the way to joins, graphs, and ranked full-text search.
- Transactions: Run queries on multiple documents or collections with optional transactional consistency and isolation.
- Data-centric microservices: Unify your data storage logic, reduce network overhead, and secure sensitive data with the ArangoDB Foxx JavaScript framework.
- Fast access to your data: Fine-tune your queries with a variety of index types for optimal performance. ArangoDB is written in C++ and can handle even very large datasets efficiently.
- Easy to use web interface and command-line tools for interaction with the server.
Scalability Features
Focus on solving enterprise-scale problems for mission critical workloads using secure graph data. ArangoDB offers special features for performance, compliance, and security, as well as advanced query capabilities.
- Smartly shard and replicate graphs and datasets with features like EnterpriseGraphs, SmartGraphs, and SmartJoins for lightning fast query execution.
- Combine the performance of a single server with the resilience of a cluster setup using OneShard deployments.
- Increase fault tolerance with Datacenter-to-Datacenter Replication and and create incremental Hot Backups without downtime.
- Enable highly secure work with Encryption 360, enhanced Data Masking, and detailed Auditing.
- Perform parallel graph traversals.
- Use ArangoSearch search highlighting and nested search for advanced information retrieval.
Latest Release
Packages for all supported platforms can be downloaded from https://www.arangodb.com/download/.
For what's new in ArangoDB, see the Release Notes in the Documentation.
Stay in Contact
-
Please use GitHub for feature requests and bug reports: https://github.com/arangodb/arangodb/issues
-
Ask questions about AQL, usage scenarios, etc. on StackOverflow: https://stackoverflow.com/questions/tagged/arangodb
-
Chat with the community and the developers on Slack: https://arangodb-community.slack.com/
-
Learn more about ArangoDB with our YouTube channel: https://www.youtube.com/@ArangoDB
-
Follow us on Twitter to stay up to date: https://twitter.com/arangodb
-
Find out more about our community: https://www.arangodb.com/community
Top Related Projects
Free and Open Source, Distributed, RESTful Search Engine
The MongoDB Database
Apache Cassandra®
Graphs for Everyone
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.
high-performance graph database for real-time use cases
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot