ArangoDB is a
free and open-source native
graph
Graph may refer to:
Mathematics
*Graph (discrete mathematics), a structure made of vertices and edges
**Graph theory, the study of such graphs and their properties
*Graph (topology), a topological space resembling a graph in the sense of discre ...
database system developed by ArangoDB Inc. ArangoDB is a
multi-model database system since it supports three data models (graphs,
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
documents,
key/value) with one database core and a unified
query language AQL (ArangoDB Query Language). AQL is mainly a declarative language and allows the combination of different data access patterns in a single query. ArangoDB is a
NoSQL
A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
database system but AQL is similar in many ways to
SQL.
History
ArangoDB Inc. was founded in 2015 by Claudius Weinberger and Frank Celler. They originally called the database system “A Versatile Object Container", or AVOC for short, leading them to call the database AvocadoDB. Later, they changed the name to ArangoDB. The word "arango" refers to a little-known avocado variety grown in Cuba.
In January 2017 ArangoDB raised a seed round investment of 4.2 million Euros led by Target Partners. In March 2019 ArangoDB raised 10 million dollars in series A funding led by Bow Capital. In October 2021 ArangoDB raised 27.8 million dollars in series B funding led by
Iris Capital.
Release history
Main features
* JSON: ArangoDB uses
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
as a default storage format, but internally it uses ArangoDB VelocyPack – a fast and compact binary format for serialization and storage. ArangoDB can natively store a nested JSON object as a data entry inside a collection. Therefore, there is no need to disassemble the resulting JSON objects. Thus, the stored data would simply inherit the tree structure of the JSON data.
* Predictable performance: ArangoDB is written mainly in C++ and manages its own memory to avoid unpredictable performance arising from
garbage collection.
* Scaling: ArangoDB provides
scaling through clustering.
* Reliability: ArangoDB provides datacenter-to-datacenter replication.
* Kubernetes: ArangoDB runs on Kubernetes, including cloud-based Kubernetes services Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE), and Microsoft Azure Kubernetes Service (AKS).
* Microservices: ArangoDB provides integration with native
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
microservices directly on top of the DBMS using the Foxx framework.
* Multiple query languages: The database has its own query language, AQL (ArangoDB Query Language), and also provides
GraphQL to write flexible native web services directly on top of the DBMS.
* Search: ArangoDB’s search engine combines boolean retrieval capabilities with generalized ranking components allowing for data retrieval based on a precise vector space model.
* Pregel algorithm
Pregelis a system for large scale graph processing. Pregel is implemented in ArangoDB and can be used with predefined algorithms, e.g. PageRank, Single-Source Shortest Path and Connected components.
* Transactions: ArangoDB supports user-definable transactions. Transactions in ArangoDB are atomic, consistent, isolated, and durable (
ACID), but only if data is not sharded.
Query language
AQL (ArangoDB Query Language) is the
SQL-like query language used in ArangoDB. It supports
CRUD operations for both documents (nodes) and edges, but it is not a
data definition language (DDL). AQL does support
geospatial
Geographic data and information is defined in the ISO/TC 211 series of standards as data and information having an implicit or explicit association with a location relative to Earth (a geographic location or geographic position).
It is also ca ...
queries.
AQL is
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
-oriented as illustrated by the following queries:
// Return every document in a collection
FOR doc IN collection
RETURN doc
// Count the number of documents in a collection
FOR doc IN collection
COLLECT WITH COUNT INTO length
RETURN length
// Add a new document into our collection
INSERT INTO collection
// Update document with key of “john” to have age 46.
UPDATE IN collection
// Add an attribute numberOfLogins for all users with status active:
FOR u IN users
FILTER u.active true
UPDATE u WITH IN users
Parameterized query
The following is a parameterized query for finding the number of descendants of a particular node (@start) in a graph named @graph with @max nodes:
FOR vert, edge, path IN 1..@max OUTBOUND @start GRAPH @graph
RETURN path
Editions
* Open Source: ArangoDB Community Edition is a free graph database with native multi-model database capabilities written mainly in C++ and available under an open-source license
Apache 2.
* Commercial self-managed: ArangoDB Enterprise is a paid subscription that includes graph-aware sharding (called “SmartGraphs”) and collection replication (called “Satellite Collections”) to reduce query times, and increased security.
* Cloud: ArangoDB is offered as a cloud service called Oasis, providing ArangoDB databases as a Service (
DBaaS). ArangoDB Oasis provides the functionality of an ArangoDB cluster deployment while minimizing the amount of administrative effort required. ArangoDB Oasis run on multipl
cloud service providers include AWS, Azure, and Google Cloud.
ArangoDB publishes
comparison of different editionson their website.
See also
*
Comparison of multi-model databases
References
{{Reflist
2011 software
Free database management systems
NoSQL products
NoSQL
Document-oriented databases
Graph databases
Structured storage
Distributed computing architecture
Database-related software for Linux
Key-value databases