HOME

TheInfoList



OR:

ArangoDB is a
graph database A graph database (GDB) is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the graph (or edge or relationship). The graph relates the dat ...
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 data ...
system since it supports three data models (graphs,
JSON JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
documents, key/value) with one database core and a unified
query language A query language, also known as data query language or database query language (DQL), is a computer language used to make queries in databases and information systems. In database systems, query languages rely on strict theory to retrieve informa ...
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 NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
database system but AQL is similar in many ways to
SQL Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel") is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
, it uses RocksDB as a storage engine.


History

ArangoDB GmbH was founded in 2014 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


Features

* JSON: ArangoDB uses
JSON JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
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 Microsoft Azure, or just Azure ( /ˈæʒər, ˈeɪʒər/ ''AZH-ər, AY-zhər'', UK also /ˈæzjʊər, ˈeɪzjʊər/ ''AZ-ure, AY-zure''), is the cloud computing platform developed by Microsoft. It has management, access and development of ...
Kubernetes Service (AKS). * Microservices: ArangoDB provides integration with native
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
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 Vector space model or term vector model is an algebraic model for representing text documents (or more generally, items) as vector space, vectors such that the distance between vectors represents the relevance between the documents. It is used in i ...
. * 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 PageRank (PR) is an algorithm used by Google Search to rank web pages in their search engine results. It is named after both the term "web page" and co-founder Larry Page. PageRank is a way of measuring the importance of website pages. Accordin ...
, Single-Source Shortest Path and Connected components. * Transactions: ArangoDB supports user-definable transactions. Transactions in ArangoDB are atomic, consistent, isolated, and durable (
ACID An acid is a molecule or ion capable of either donating a proton (i.e. Hydron, hydrogen cation, H+), known as a Brønsted–Lowry acid–base theory, Brønsted–Lowry acid, or forming a covalent bond with an electron pair, known as a Lewis ...
), but only if data is not sharded. AQL (ArangoDB Query Language) is the
SQL Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel") is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
-like query language used in ArangoDB. It supports CRUD operations for both documents (nodes) and edges, but it is not a
data definition language In the context of SQL, data definition or data description language (DDL) is a syntax for creating and modifying database objects such as tables, indices, and users. DDL statements are similar to a computer programming language for defining d ...
(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 call ...
queries. AQL is
JSON JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
-oriented: // 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


Editions

* Community Edition: ArangoDB Community Edition is a graph database with native multi-model database capabilities written mainly in C++ and was available under an
open-source license Open-source licenses are software licenses that allow content to be used, modified, and shared. They facilitate free and open-source software (FOSS) development. Intellectual property (IP) laws restrict the modification and sharing of creative ...

Apache 2
. In October 2023, the source code license was changed from Apache 2.0 to Business Source License, while the license for the pre-compiled binaries was changed from Apache 2.0 to a "ArangoDB Community License", which "limits its use for commercial purposes and imposes a 100GB limit on dataset size within a single cluster" * 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.


See also

* Comparison of multi-model databases


References

{{refs 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 Software using the Business Source License