ArangoDB
Developer(s) | ArangoDB GmbH |
---|---|
Initial release | 2011; 14 years ago (2011) |
Stable release | 3.11.5
/ November 9, 2023; 14 months ago (2023年11月09日) |
Repository | |
Written in | C++, JavaScript |
Type | Multi-model database, Graph database, Document-oriented database, Key/Value database, Full-text Search Engine |
License | Business Source License 1.1 and Arango Community License |
Website | arangodb |
ArangoDB is a graph database system developed by ArangoDB Inc. ArangoDB is a multi-model database system since it supports three data models (graphs, JSON documents, key/value)[1] with one database core and a unified query language AQL (ArangoDB Query Language). AQL is mainly a declarative language[2] and allows the combination of different data access patterns in a single query.[3]
ArangoDB is a NoSQL database system[4] but AQL is similar in many ways to SQL,[5] it uses RocksDB as a storage engine.
History
[edit ]ArangoDB GmbH was founded in 2014 by Claudius Weinberger and Frank Celler.[6] They originally called the database system "A Versatile Object Container", or AVOC for short, leading them to call the database AvocadoDB.[7] [8] [9] Later, they changed the name to ArangoDB.[10] The word "arango" refers to a little-known avocado variety grown in Cuba.[11]
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[12] led by Bow Capital. In October 2021 ArangoDB raised 27.8 million dollars in series B funding led by Iris Capital.[13]
Release history
[edit ]Release | First Release | Latest Minor Version | Latest Release | Feature Notes | Reference |
---|---|---|---|---|---|
3.11 | 2023年05月30日 | 3.11.5 | 2023年11月09日 |
|
Release Notes |
3.10 | 2022年10月04日 | 3.10.11 | 2023年10月19日 |
|
Release Notes |
3.9 | 2022年02月15日 | 3.9.12 | 2023年08月23日 |
|
Release Notes |
3.8 | 2021年07月29日 | 3.8.9 | 2023年03月27日 |
|
Release Notes |
3.7 | 2020年09月16日 | 3.7.17 | 2022年02月01日 |
|
Release Notes |
3.6 | 2020年01月08日 | 3.6.16 | 2021年09月06日 |
|
Release Notes |
3.5 | 2019年08月21日 | 3.5.7 | 2020年12月30日 |
|
Release Notes |
3.4 | 2018年12月06日 | 3.4.11 | 2020年09月09日 |
|
Release Notes |
3.3 | 2017年12月22日 | 3.3.25 | 2020年02月28日 |
|
Release Notes |
3.2 | 2017年07月20日 | 3.2.18 | 2019年02月02日 |
|
Release Notes |
3.1 | 2016年11月03日 | 3.1.29 | 2018年06月23日 |
|
Release Notes |
3.0 | 2016年07月23日 | 3.0.12 | 2016年11月23日 |
|
Release |
Features
[edit ]- JSON: ArangoDB uses JSON as a default storage format,[14] but internally it uses ArangoDB VelocyPack – a fast and compact binary format for serialization and storage.[15] 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++[16] and manages its own memory to avoid unpredictable performance arising from garbage collection.
- Scaling: ArangoDB provides scaling through clustering.[17]
- Reliability: ArangoDB provides datacenter-to-datacenter replication.[18]
- 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).[19]
- Microservices: ArangoDB provides integration with native JavaScript microservices directly on top of the DBMS using the Foxx framework.[20]
- 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.[21]
- Search: ArangoDB's search engine combines boolean retrieval capabilities with generalized ranking components allowing for data retrieval based on a precise vector space model.[22]
- Pregel algorithm: Pregel is a system for large scale graph processing.[23] Pregel is implemented in ArangoDB and can be used with predefined algorithms, e.g. PageRank, Single-Source Shortest Path and Connected components.[24]
- Transactions: ArangoDB supports user-definable transactions. Transactions in ArangoDB are atomic, consistent, isolated, and durable (ACID), but only if data is not sharded.[25]
AQL (ArangoDB Query Language) is the SQL-like query language[26] 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 queries.
AQL is JSON-oriented:
// Return every document in a collection FORdocINcollection RETURNdoc // Count the number of documents in a collection FORdocINcollection COLLECTWITHCOUNTINTOlength RETURNlength // Add a new document into our collection INSERT{_key:"john",name:"John",age:45}INTOcollection // Update document with key of "john" to have age 46. UPDATE{_key:"john",age:46}INcollection // Add an attribute numberOfLogins for all users with status active: FORuINusers FILTERu.active==true UPDATEuWITH{numberOfLogins:0}INusers
Editions
[edit ]- 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 (Apache 2) until October 2023. It was then changed to "ArangoDB Community License, which limits its use for commercial purposes and imposes a 100GB limit on dataset size within a single cluster" [27]
- Commercial self-managed: ArangoDB Enterprise is a paid subscription that includes graph-aware sharding (called "SmartGraphs")[28] and collection replication (called "Satellite Collections") to reduce query times,[29] and increased security.[30]
- 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.[31] ArangoDB Oasis run on multiple cloud service providers, include AWS, Azure, and Google Cloud.[32]
See also
[edit ]References
[edit ]- ^ "Advantages of native multi-model in ArangoDB". ArangoDB. Retrieved 2022年07月26日.
- ^ "ArangoDB Query Language (AQL) Introduction | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年07月26日.
- ^ "AQL Query Patterns & Examples | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年07月26日.
- ^ Celler, Frank (2012年03月07日). "ArangoDB's design objectives". ArangoDB. Retrieved 2022年07月26日.
- ^ "ArangoDB Query Language (AQL) Introduction | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年07月26日.
- ^ "Variety Database". www.avocadosource.com. Retrieved 2022年07月27日.
- ^ Ortell, Bill (2021年03月08日), AvocadoDB , retrieved 2022年07月27日
- ^ AvocadoDB explained , retrieved 2022年07月27日
- ^ AvocadoDB Query Language Jan Steemann in english , retrieved 2022年07月27日
- ^ ""AvocadoDB" becomes "ArangoDB"". ArangoDB. 2012年05月09日. Retrieved 2022年07月27日.
- ^ "Variety Database". www.avocadosource.com. Retrieved 2022年08月05日.
- ^ Weinberger, Claudius (2019年03月14日). "ArangoDB receives Series A Funding led by Bow Capital". ArangoDB. Retrieved 2022年07月27日.
- ^ "ArangoDB Announces 27ドル.8 Million Series B Investment to Accelerate Development of Next-Generation Graph ML, Providing Advanced Analytics and AI Capabilities at Enterprise Scale". ArangoDB. Retrieved 2022年07月27日.
- ^ AvocadoDB explained , retrieved 2022年08月05日
- ^ AvocadoDB Query Language Jan Steemann in english , retrieved 2022年08月05日
- ^ ArangoDB, ArangoDB, 2022年08月05日, retrieved 2022年08月05日
- ^ "Cluster | ArangoDB Deployment Modes | Architecture | Manual | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月05日.
- ^ "DC2DC Replication | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月05日.
- ^ "Kubernetes | Tutorials | Manual | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月05日.
- ^ "Foxx Microservices | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月05日.
- ^ ArangoDB, ArangoDB, 2022年08月05日, retrieved 2022年08月05日
- ^ "ArangoSearch - Full-text search engine including similarity ranking capabilities". ArangoDB. Retrieved 2022年08月05日.
- ^ "Stanford University Pregel White paper" (PDF).
- ^ "Pregel | Data Science | Manual | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月05日.
- ^ "Transactions | Manual | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月05日.
- ^ "Cluster | ArangoDB Deployment Modes | Architecture | Manual | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月11日.
- ^ ArangoDB, ArangoDB, 2023年10月13日, retrieved 2023年10月13日
- ^ "ArangoDB SmartGraphs | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月11日.
- ^ "ArangoDB SatelliteCollections | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月11日.
- ^ "ArangoDB Enterprise Features". ArangoDB. Retrieved 2022年08月11日.
- ^ "Getting Started with ArangoDB Oasis | ArangoDB Documentation". www.arangodb.com. Retrieved 2022年08月11日.
- ^ "ArangoDB Oasis". ArangoDB Oasis. Retrieved 2022年08月11日.