1
0
Fork 0
a mirror from github
Go to file
jsteemann 14dfdd24e6 added JEMALLOC, corrected wording 2016-06-09 23:32:34 +02:00
.hooks Add precommit script for jslint 2015-02-10 13:03:14 +01:00
3rdParty added cmath for GCC 5.4 2016-06-08 21:40:21 +02:00
Documentation fix wrong escaped > 2016-06-09 20:56:49 +02:00
Installation set the password we asked to into the database. 2016-06-09 13:22:11 +02:00
UnitTests restriction are now user based 2016-06-09 13:46:25 +02:00
arangod moveshard good 2016-06-09 18:25:29 +02:00
arangosh be more friendly 2016-06-09 11:51:20 +02:00
cmake Properly reference the plugins. 2016-05-25 14:44:27 +02:00
etc adjusted config files for 3.0 2016-06-08 09:24:39 +02:00
js Add a coordinator route to show shardDistribution. 2016-06-09 23:24:39 +02:00
lib added @include 2016-06-09 15:28:27 +02:00
scripts Repaired startLocalCluster.sh for call without arguments. 2016-06-09 15:29:40 +02:00
utils better format the text inbewteen examples - use markdown. 2016-06-09 17:44:22 +02:00
.clang-format updated clang-format with pointer alignment specification 2016-01-05 10:08:15 +01:00
.gitattributes callback redesign 2016-04-07 10:20:08 +02:00
.gitignore Rename Users documentation to Manual 2016-05-24 16:09:21 +02:00
.jsbeautifyrc added time 2016-01-15 09:52:31 +01:00
.travis.yml added branch 3.0 for travis 2016-05-05 10:28:18 +02:00
CHANGELOG updated CHANGELOG 2016-05-23 18:45:48 +02:00
CMakeLists.txt 3.0 2016-06-07 17:39:32 +02: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
GNUmakefile added JEMALLOC, corrected wording 2016-06-09 23:32:34 +02:00
LICENSE Updated License 2015-02-16 16:20:45 +01:00
LICENSES-OTHER-COMPONENTS.md added RocksDB to licenses file 2016-06-02 11:39:04 +02:00
README state after compaction reload with no logs 2016-06-07 09:32:47 +00:00
README.md Update README.md 2016-05-20 10:00:45 +02:00
README.windows Remove doc building readme, fix typos 2015-09-05 03:47:06 +02:00
README_maintainers.md fixed wrong CMake option name 2016-06-03 17:31:27 +02:00
VERSION changed to 3.0.x-devel 2016-03-16 10:50:52 +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

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 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.8

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

AQL Graph Traversals / Pattern Matching: AQL offers a new feature to traverse over a graph without writing JavaScript functions but with all the other features you know from AQL. For this purpose, a special version of FOR variable-name IN expression has been introduced.

The added Array Indexes are a major improvement to ArangoDB that you will love and never want to miss again. Hash indexes and skiplist indexes can now be defined for array values as well, so its freaking fast to access documents by individual array values.

Additional, there is a cool new aggregation feature that was added after the beta releases. AQL introduces the keyword AGGREGATE for use in AQL COLLECT statements. Using AGGREGATE allows more efficient aggregation (incrementally while building the groups) than previous versions of AQL, which built group aggregates afterwards from the total of all group values

Optimizer improvements: The AQL query optimizer can now use indexes if multiple filter conditions on attributes of the same collection are combined with logical ORs, and if the usage of indexes would completely cover these conditions.

ArangoDB 2.8 now has an automatic deadlock detection for transactions. A deadlock is a situation in which two or more concurrent operations (user transactions or AQL queries) try to access the same resources (collections, documents) and need to wait for the others to finish, but none of them can make any progress.

Foxx Improvements

The module resolution used by require now behaves more like in node.js. The org/arangodb/request module now returns response bodies for error responses by default. The old behavior of not returning bodies for error responses can be re-enabled by explicitly setting the option returnBodyOnError to false.

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