Skip to content
🥑 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.
C++ JavaScript CSS CMake HTML C Other
Branch: devel
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.hooks Add precommit script for jslint Feb 10, 2015
3rdParty Remove accidentally committed file Oct 18, 2019
Documentation fix docublocks parameter naming (#10254) Oct 17, 2019
Installation remove ye olde build script (#10257) Oct 15, 2019
UnitTests fixed version of arangosh result evaluation refactoring - properly co… Sep 26, 2019
arangod use C++17 [[fallthrough]] (#10280) Oct 19, 2019
arangosh Bug fix/fix suspicous stuff (#10273) Oct 17, 2019
cmake Fix Windows client package Sep 16, 2019
configure try to fix windows build (#4468) Jan 31, 2018
etc This simply removes the default of backup off in the config file. (#9939 Sep 6, 2019
js Fix testresult (#10262) Oct 17, 2019
lib use C++17 [[fallthrough]] (#10280) Oct 19, 2019
scripts Bug fix/result evaluation test counting (#10176) Oct 8, 2019
tests Bug fix/fix suspicous stuff (#10273) Oct 17, 2019
utils Docs: Dump program options of arangobackup as well (#9932) Oct 7, 2019
.clang-format added new clang style and reformat script for clang-format 6.0 Dec 25, 2018
.ctags_exclude Split Http- and HttpsCommTask Jul 22, 2016
.editorconfig switch to boost asio Oct 14, 2016
.gitattributes Remove documentation, now here: github.com/arangodb/docs (#8918) Jul 22, 2019
.gitignore C++17 (#10178) Oct 16, 2019
.gitmodules switch V8 from git submodule to flat copy Mar 14, 2017
.jsbeautifyrc added time Jan 15, 2016
.travis.yml switch to trusty Jul 30, 2017
CHANGELOG use the default arangosh client connection instead of the simple http… Oct 17, 2019
CMakeLists.txt Bug fix/fix suspicous stuff (#10273) Oct 17, 2019
CONTRIBUTING.md Remove documentation, now here: github.com/arangodb/docs (#8918) Jul 22, 2019
EXPERIMENTAL bogus commit to notify CI (#3605) Nov 9, 2017
GNUmakefile remove info about obsolete parameters from GNUmakefile (#5494) May 30, 2018
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md (#7103) Dec 28, 2018
LICENSE Updated License Feb 16, 2015
LICENSES-OTHER-COMPONENTS.md upgrade jemalloc to 5.2.1 (#9816) Aug 27, 2019
PULL_REQUEST_TEMPLATE.md Update PULL_REQUEST_TEMPLATE.md (#9758) Aug 20, 2019
README Bug fix/iresearch trx (#9536) Jul 23, 2019
README.md Remove documentation, now here: github.com/arangodb/docs (#8918) Jul 22, 2019
README.windows Remove doc building readme, fix typos Sep 5, 2015
README_maintainers.md fixed version of arangosh result evaluation refactoring - properly co… Sep 26, 2019
VERSION add auto-generated file Jul 16, 2019
VERSIONS Try to use gcc 9.2.0 (#10277) Oct 18, 2019
lsan_arangodb_suppressions.txt lsan suppressions Jun 13, 2019
tsan_arangodb_suppressions.txt Fix several TSan warnings (#6473) Sep 14, 2018

README.md

ArangoDB-Logo

ArangoDB

Slack: ArangoDB-Logo

ArangoDB is a multi-model, open-source 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. Use ACID transactions if you require them. Scale horizontally with a few mouse clicks.

The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for your data.

To get started, try one of our 10 minutes tutorials in your favorite programming language or try one of our ArangoDB Cookbook recipes.

For the impatient: download and install ArangoDB. Start the server arangod and point your browser to http://127.0.0.1:8529/.

Key Features in ArangoDB

  • Multi-Model: Documents, graphs and key-value pairs — model your data as you see fit for your application.
  • Joins: Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy.
  • Transactions: Easy application development keeping your data consistent and safe. No hassle in your client.

Here is an AQL query that makes use of all those features:

AQL Query Example

Joins and transactions are key features for flexible, secure data designs, widely used in relational databases but lacking in many NoSQL products. However, there is no need to forgo them in ArangoDB. You decide how and when to use joins and strong consistency guarantees, without sacrificing performance and scalability.

Furthermore, ArangoDB offers a JavaScript framework called Foxx that is executed in the database server with direct access to the data. Build your own data-centric microservices with a few lines of code:

Microservice Example

Microservice Example

By extending the HTTP API with user code written in JavaScript, ArangoDB can be turned into a strict schema-enforcing persistence engine.

Next step, bundle your Foxx application as a docker container and get it running in the cloud.

Other features of ArangoDB include:

  • Use a data-centric microservices approach with ArangoDB Foxx and fuse your application-logic and database together for maximal throughput
  • JavaScript for all: no language zoo, you can use one language from your browser to your back-end
  • Flexible data modeling: model your data as combination of key-value pairs, documents or graphs - perfect for social relations
  • Different storage engines: ArangoDB provides a storage engine for mostly in-memory operations and an alternative storage engine based on RocksDB which handle datasets that are much bigger than RAM.
  • Powerful query language (AQL) to retrieve and modify data
  • Transactions: run queries on multiple documents or collections with optional transactional consistency and isolation
  • Replication and Sharding: set up the database in a master-slave configuration or spread bigger datasets across multiple servers
  • Configurable durability: let the application decide if it needs more durability or more performance
  • Schema-free schemata let you combine the space efficiency of MySQL with the performance power of NoSQL
  • Free index choice: use the correct index for your problem, be it a skiplist or a fulltext search
  • ArangoDB is multi-threaded - exploit the power of all your cores
  • It is open source (Apache License 2.0)

For more in-depth information read the design goals of ArangoDB

Latest Release

Packages for all supported platforms can be downloaded from https://www.arangodb.com/download.

Please also check what's new in ArangoDB.

More Information

Please check the Installation Manual for installation and compilation instructions.

The User Manual has an introductory chapter showing the basic operations of ArangoDB.

Stay in Contact

We really appreciate feature requests and bug reports. Please use our Github issue tracker for reporting them:

https://github.com/arangodb/arangodb/issues

You can use our Google group for improvements, feature requests, comments:

https://www.arangodb.com/community

StackOverflow is great for questions about AQL, usage scenarios etc.

https://stackoverflow.com/questions/tagged/arangodb

To chat with the community and the developers we offer a Slack chat:

https://slack.arangodb.com/

You can’t perform that action at this time.