ArangoDB — Native Multi-Model Database (Documents, Graphs, Key-Value)
ArangoDB is a scalable multi-model database that handles documents, graphs, and key-value data with one engine and one query language (AQL). It replaces three databases with one — without giving up performance.
What it is
ArangoDB is a native multi-model database that handles documents, graphs, and key-value data with a single engine and one query language called AQL. Instead of running MongoDB for documents, Neo4j for graphs, and Redis for key-value, you run one database.
ArangoDB targets teams building applications that span multiple data models, such as knowledge graphs with document metadata, social networks with user profiles, or recommendation engines that combine graph traversals with full-text search.
How it saves time or tokens
Operating one database instead of three cuts infrastructure complexity. You write AQL instead of learning three query languages. Joins across documents and graph traversals happen in a single query without cross-database synchronization.
For AI workflows, ArangoDB's graph capabilities make it a strong backend for knowledge graphs, RAG pipelines, and entity resolution tasks where relationships matter as much as content.
How to use
- Install ArangoDB:
docker run -p 8529:8529 -e ARANGO_ROOT_PASSWORD=secret arangodb/arangodb - Open the web UI at
http://localhost:8529and create a database - Create document collections and graph edge collections
- Query with AQL in the web interface or via the HTTP API
Example
// Create a document
INSERT { name: 'Alice', role: 'engineer' } INTO users
// Graph traversal: find friends of friends
FOR v, e, p IN 2..2 OUTBOUND 'users/alice' friendships
RETURN DISTINCT v.name
// Join documents with graph data
FOR user IN users
FILTER user.role == 'engineer'
FOR v IN 1..1 OUTBOUND user._id works_on
RETURN { user: user.name, project: v.name }
Related on TokRepo
- Database tools -- Database management and query tools
- Knowledge graph tools -- Graph and knowledge management
Common pitfalls
- ArangoDB's graph performance does not match dedicated graph databases like Neo4j for deep traversals (10+ hops)
- The multi-model flexibility can lead to schema confusion; define clear collection naming conventions early
- ArangoDB's clustering mode (SmartGraphs, SatelliteCollections) requires the Enterprise Edition for full features
Frequently Asked Questions
AQL is similar to SQL in structure but adds graph traversal syntax. SELECT becomes FOR/RETURN, WHERE stays WHERE, and you gain graph-specific clauses like OUTBOUND and INBOUND for traversals. SQL users can learn AQL in a day.
Yes. ArangoDB supports multi-document ACID transactions within a single server. In cluster mode, transactions are supported across shards for collections configured with the same distributeShardsLike attribute.
For document storage, ArangoDB is a viable alternative with the added benefit of native graph support. The document model is JSON-based and similar to MongoDB. However, MongoDB has a larger ecosystem of drivers, tools, and managed hosting options.
Yes. ArangoSearch provides full-text search, ranking, and geospatial queries using inverted indexes. It integrates directly into AQL queries, so you can combine text search with graph traversals in a single statement.
ArangoDB Community Edition is free under the Apache 2.0 license. The Enterprise Edition adds features like SmartGraphs, encrypted backups, and LDAP authentication under a commercial license.
Citations (3)
- ArangoDB GitHub— ArangoDB is a native multi-model database for documents, graphs, and key-value
- ArangoDB Docs— AQL is ArangoDB's query language supporting graph traversals and joins
- ArangoDB Docs— ArangoSearch provides full-text search and ranking integrated into AQL
Related on TokRepo
Discussion
Related Assets
doctest — The Fastest Feature-Rich C++ Testing Framework
doctest is a single-header C++ testing framework designed for minimal compile-time overhead and maximum speed.
Chai — BDD/TDD Assertion Library for Node.js
Chai is a flexible assertion library for Node.js and browsers that supports expect, should, and assert styles.
Supertest — HTTP Assertion Library for Node.js APIs
Supertest provides a high-level API for testing HTTP servers in Node.js with fluent assertion chaining.