HOME

TheInfoList



OR:

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 In the field of database design, a multi-model database is a database management system designed to support multiple data models against a single, integrated backend. In contrast, most database management systems are organized around a single dat ...
system since it supports three data models (graphs, JSON documents, key/value) with one database core and a unified
query language Query languages, data query languages or database query languages (DQL) are computer languages used to make queries in databases and information systems. A well known example is the Structured Query Language (SQL). Types Broadly, 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 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 Iris Capital is a venture capital firm, specialized in the digital economy, primarily active in Europe. Since its creation, the Iris Capital team has invested more than a billion Euros in over 230 innovative companies. Iris Capital is sponsored ...
.


Release history


Main features

* JSON: ArangoDB uses JSON 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 Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclabl ...
. * Scaling: ArangoDB provides
scaling Scaling may refer to: Science and technology Mathematics and physics * Scaling (geometry), a linear transformation that enlarges or diminishes objects * Scale invariance, a feature of objects or laws that do not change if scales of length, energ ...
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 websites use JavaScript on the client side for webpage behavior, of ...
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 GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook (now Meta) in 2012 before being publicly released in 2015. On 7 No ...
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
Pregel
is 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 In computer programming, create, read, update, and delete (CRUD) are the four basic operations of persistent storage. CRUD is also sometimes used to describe user interface conventions that facilitate viewing, searching, and changing information u ...
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-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 A cloud database is a database that typically runs on a cloud computing platform and access to the database is provided as-a-service. There are two common deployment models: users can run databases on the cloud independently, using a virtual machin ...
). 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 editions
on their website.


See also

*
Comparison of multi-model databases Comparison of multi-model databases (database management systems). {, style="text-align: left;" class="wikitable sortable" , - ! Database !! SQL !! Document !! Graph !! Object !! License !! Transactions , - , ArcadeDB , , , , , , , , ...


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