ArangoDB is a multi-model mostly-memory database with a flexible data model for documents and graphs. It allows users to specify either multi-collections transactions for ACID properties or standard single-document transactions for performance boosting. The whole software is under the Apache 2.0 license.[04]
- Website
- https://arango.ai[01]
- Source Code
- https://github.com/arangodb/arangodb[02]
- Developer
- Country of Origin
- DE
- Start Year
- 2011
- Former Name
- AvocadoDB
- Project Types
- Commercial, Open Source
- Supported Languages
- JavaScript, SQL
- Operating System
- Linux
- License
- Apache v2
ArangoDB is a multi-model mostly-memory database with a flexible data model for documents and graphs. It allows users to specify either multi-collections transactions for ACID properties or standard single-document transactions for performance boosting. The whole software is under the Apache 2.0 license.[04]
History[02][04]
ArangoDB was ready to be used in production since version 1.0 released in spring 2012. The current version is 3.4.0.
Data Model[05]
In ArangoDB, a document collection always has a primary key _key. Therefore, without specifying any secondary index, it is just like a key-value store. Generally, there can be multiple attributes and multiple secondary indexes, then it is like a common document store. By default, the sharding key is the same as the primary key _key. Therefore it can achieve good linear scalability. Besides key-value store and document store, ArangoDB can also support graph store with comprehensive functionalities.
Indexes[06]
By default, the index of a document is a hash index on its _key attribute. At the same time, user can specify other indexes including skip list, fulltext index, persistent index, geo-spatial Index etc.
Logging[07][05]
ArangoDB does not overwrite existing documents. Instead, it create a new version of modified documents for all the write operations (including delete operation). ArangoDB's Write-Ahead-Logging records all these write operations that were executed on the server.
Query Interface[08]
ArangoDB has its own query language ArangoDB query language (AQL). AQL queries can be invoked using Arangosh (ArangoDB Shell), web interface, or HTTP REST API.
Citations
8 sources- Arango Contextual Data Platform arango.ai
- GitHub - arangodb/arangodb: 🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. · GitHub github.com
- ArangoDB - Wikipedia wikipedia.org
- https://www.arangodb.com/documentation/faq arangodb.com
- Arango Documentation arango.ai
- https://docs.arangodb.com/3.3/Manual/Indexing/IndexBasics.html arangodb.com
- https://docs.arangodb.com/3.3/Manual/Architecture/WriteAheadLog.html arangodb.com
- https://docs.arangodb.com/3.2/AQL/Invocation arangodb.com