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 Python C HTML Java Other
Latest commit e1a4ede Aug 28, 2016 @ObiWahn ObiWahn improve the perf script
Permalink
Failed to load latest commit information.
.hooks Add precommit script for jslint Feb 10, 2015
3rdParty Implement scheme to more clever pass the directories from the build p… Aug 24, 2016
Documentation Fix the location of the sample graphs. Aug 25, 2016
Installation Fix syntax error in windows client installer. Aug 26, 2016
UnitTests Fix trusted origin tests Jul 27, 2016
arangod Adding Foxx access to agency Aug 26, 2016
arangosh Fix install permissions of binaries. Aug 25, 2016
cmake Windows install: no backslash strings in cmake. Aug 25, 2016
etc Add tokens so we can enable the uid during the build. Aug 1, 2016
js Adding Foxx access to agenc Aug 26, 2016
lib Merge branch 'devel' of https://github.com/arangodb/arangodb into devel Aug 26, 2016
scripts improve the perf script Aug 28, 2016
utils Swagger: change the way attribute types are written into the docs Jul 18, 2016
.clang-format updated clang-format with pointer alignment specification Jan 5, 2016
.ctags_exclude Split Http- and HttpsCommTask Jul 22, 2016
.editorconfig add tags to .gitignore and add .editorconfig Jul 4, 2016
.gitattributes callback redesign Apr 7, 2016
.gitignore ignore boost build files Aug 17, 2016
.jsbeautifyrc added time Jan 15, 2016
.travis.yml ccache for travis Jul 1, 2016
CHANGELOG updated CHANGELOG Aug 26, 2016
CMakeLists.txt add SYSTEM flag to boost includes to avoid warnings Aug 28, 2016
CONTRIBUTING.md simplified CONTRIBUTING.md Nov 20, 2015
DEPRECATED.md More undeprecation Dec 16, 2015
EXPERIMENTAL Revert "release version 2.3.0" Dec 16, 2014
GNUmakefile Remove obsolete installation stuff.. Jul 8, 2016
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md Jul 22, 2016
LICENSE Updated License Feb 16, 2015
LICENSES-OTHER-COMPONENTS.md updated licenses Aug 24, 2016
README state after compaction reload with no logs Jun 7, 2016
README.md Update README.md Aug 15, 2016
README.windows Remove doc building readme, fix typos Sep 5, 2015
README_maintainers.md Warn from the ubuntu apport package - it will handle coredumps in its… Aug 24, 2016
VERSION Work on the debian build Aug 1, 2016

README.md

ArangoDB-Logo

ArangoDB

1.4: Build Status

2.3: Build Status 2.4: Build Status 2.5: Build Status 2.6: Build Status 2.7: Build Status 2.8: Build Status 3.0: Build Status

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:

  • Schema-free schemata let you combine the space efficiency of MySQL with the performance power of NoSQL
  • 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
  • ArangoDB is multi-threaded - exploit the power of all your cores
  • Flexible data modeling: model your data as combination of key-value pairs, documents or graphs - perfect for social relations
  • Free index choice: use the correct index for your problem, be it a skip list or a fulltext search
  • Configurable durability: let the application decide if it needs more durability or more performance
  • 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
  • It is open source (Apache License 2.0)

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

Latest Release - ArangoDB 3.0

The What's new in ArangoDB 3.0 can be found in the documentation.

Key features of the 3.0 release are:

  • use of VelocyPack as internal storage format
  • AQL improvements
  • much better cluster state management
  • Synchronous replication (master/master)
  • unified APIs for CRUD operations
  • persistent indexes
  • upgraded version of V8
  • new web admin interface
  • Foxx improvements
  • Logging improvements
  • improved documentation

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 the Google group for improvements, feature requests, comments:

http://www.arangodb.com/community

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

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

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

http://slack.arangodb.com/