1
0
Fork 0
a mirror from github
Go to file
Frank Celler 828a2eb1ce added time 2016-01-15 09:52:31 +01:00
.hooks Add precommit script for jslint 2015-02-10 13:03:14 +01:00
3rdParty fixed leak 2016-01-06 13:45:25 +01:00
Documentation updated wording 2016-01-14 11:01:47 +01:00
Installation only remove EXPERIMENTAL if present 2016-01-05 09:07:42 +01:00
UnitTests added more compaction tests 2016-01-13 15:24:56 +01:00
arangod statistics fix 2016-01-14 11:10:01 +01:00
arangosh comments reformatting 2016-01-11 09:52:39 +01:00
config removed several includes from Common.h 2015-11-25 12:21:55 +01:00
etc org/arangodb -> @arangodb 2015-12-15 15:51:44 +01:00
js added time 2016-01-15 09:52:31 +01:00
lib added time 2016-01-15 09:52:31 +01:00
m4 stop if ssl.h is not usable 2015-11-05 16:43:10 +01:00
scripts Merge branch 'devel' into ClustUp1 2015-12-15 17:46:34 +01:00
utils cleanup 2015-08-12 17:54:15 +02:00
.clang-format updated clang-format with pointer alignment specification 2016-01-05 10:08:15 +01:00
.gitattributes Prevent git from changing line endings from LF to CRLF for shell scripts. 2015-08-19 23:29:55 +02:00
.gitignore fixed Visual Studio warnings 2015-11-19 14:29:49 +01:00
.jsbeautifyrc added time 2016-01-15 09:52:31 +01:00
.travis.yml activate travis tests for 2.8 2015-12-09 00:25:04 +01:00
CHANGELOG updated CHANGELOG 2016-01-13 16:36:57 +01:00
CMakeLists.txt Multi -purpose- -> model 2015-12-11 18:22:23 +01:00
CONTRIBUTING.md simplified CONTRIBUTING.md 2015-11-20 12:25:04 +01:00
DEPRECATED.md More undeprecation 2015-12-16 01:16:34 +01:00
EXPERIMENTAL added EXPERIMENTAL 2014-07-24 09:12:04 +02:00
GNUmakefile Multi -purpose- -> model 2015-12-11 18:22:23 +01:00
LICENSE Updated License 2015-02-16 16:20:45 +01:00
LICENSES-OTHER-COMPONENTS.md Move jasmine to frontend licenses 2016-01-12 19:05:32 +01:00
Makefile.am Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2016-01-05 00:25:10 +01:00
README Remove doc building readme, fix typos 2015-09-05 03:47:06 +02:00
README.md Update README.md 2015-12-21 03:07:23 +01:00
README.windows Remove doc building readme, fix typos 2015-09-05 03:47:06 +02:00
README_maintainers.md org/arangodb -> @arangodb 2015-12-15 15:51:44 +01:00
VERSION updated VERSION 2015-09-14 11:43:51 +02:00
build.h bumped built-in version number from 2.7.0-devel to 2.8 2016-01-08 01:56:23 +01:00
configure.ac bumped built-in version number from 2.7.0-devel to 2.8 2016-01-08 01:56:23 +01:00

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

Master: Build Status

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 forego 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 2.6

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

New collection export HTTP REST API: ArangoDB now provides a dedicated collection export API, which can take snapshots of entire collections more efficiently than the general-purpose cursor API. The export API is useful to transfer the contents of an entire collection to a client application.

Added batch document removal and lookup commands: The commands collection.lookupByKeys(keys) and collection.removeByKeys(keys) have been added for collection objects. These can be used to perform multi-document lookup and removal operations efficiently from the ArangoShell.

Added AQL UPSERT command: This adds an UPSERT statement to AQL that is a combination of both INSERT and UPDATE / REPLACE. The UPSERT will search for a matching document using a user-provided example. If no document matches the example, the insert part of the UPSERT statement will be executed. If there is a match, the update / replace part will be carried out.

We have simplified the return value syntax for data-modification AQL queries, added an alternative implementation for AQL COLLECT that uses a hash table for grouping and does not require its input elements to be sorted.

Other optimizations and speedups in AQL relate to subqueries, return values and queries containing big IN lists for index lookups.

Arangoimp can now optionally update or replace existing documents, provided the import data contains documents with _key attributes.

Foxx Improvements

Added Configuration and Dependencies so that manifests can now define configuration options, as well as dependencies on other Foxx apps. With the Mocha Test framework you can now write tests for your Foxx apps. The API documentation has been updated to Swagger 2.

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