ArangoDB 3.12 Product Release Announcement! Read the blog for details. Read Blog

Vector-5

ArangoDB Team in Silicon Valley / San Francisco

Estimated reading time: 1 minutes

ArangoDB’s outpost in the Bay area is getting more and more crowded. CTO Frank @fceller has joined the team of our CEO Claudius @weinberger, and ArangoDB´s lead developers: Max @neunhoef & Michael @mchacki. The latter are in San Francisco for a while already.

You can meet our team by attending several Meetups, the Collision Conf in Vegas (5-7 May) or at the @GeekdomSF office at Folsom Street #100, near Moscone Center. Get in touch, grab’ a coffee and join the discussions about NoSQL and multi-model databases. We are here to stay – at least until the end of May.

(more…)

Exporting Data for Offline Processing (in PHP)

Estimated reading time: 1 minutes

A few weeks ago I wrote about ArangoDB’s specialized export API.

(more…)

AQL Functions Improvements

Estimated reading time: 1 minutes

Waiting for a git pull to complete over an 8 KiB/s internet connection is boring. So I thought I’d rather use the idle time and quickly write about some performance improvements for certain AQL functions that were recently completed and that will become available with ArangoDB 2.6.

The improvements affect the following AQL functions:

(more…)

COLLECTing With a Hash Table

Estimated reading time: 8 minutes

ArangoDB 2.6 will feature an alternative hash implementation of the AQL COLLECT operation. The new implementation can speed up some AQL queries that can not exploit indexes on the COLLECT group criteria.

This blog post provides a preview of the feature and shows some nice performance improvements. It also explains the COLLECT-related optimizer parts and how the optimizer will decide whether to use the new or the traditional implementation.

Introduction to COLLECT

A quick recap: in AQL, the COLLECT operation can be used for grouping and optionally counting values.

(more…)

Creating Multi-Game Highscore Lists

Estimated reading time: 10 minutes

I just came across a question about how to create highscore lists or leaderboards in ArangoDB, and how they would work when compared to Redis sorted sets.

This blog post tries to give an answer on the topic and also detailed instructions and queries for setting up highscore lists with ArangoDB. The additional section “Extensions” explains slightly more advanced highscore list use cases like multi-game highscore lists, joining data and maintaining a “last updated” date.

A highscore list in Redis

Highscore lists are normally used to quickly determine who’s currently at the top, so we obviously..

(more…)

Collision Conf 2015

Estimated reading time: 1 minutes

We are looking forward to joining the tech crowd at the Collision Conf that will take place in just a few weeks. Join us at this amazing event downtown Las Vegas on 5–6 May 2015.

As a sister event of Web Summit – Europe’s largest tech conference attracting over 20,000 attendees from around the world – Collision is a new type of tech conference for America: “A meeting place for people who are both building the companies of tomorrow and managing the companies of today.” – (Collision Conf)

We are proud to get a chance to share our vision on multi-model databases and present ArangoDB to the..

(more…)

AQB Updated: Write More Readable Queries

Estimated reading time: 1 minutes

The latest update to the AQL Query Builder for JavaScript addresses a major pain point: the “prefix notation” or LISP style syntax of AQL operator methods. Instead of calling the operator methods on the query builder object itself, you can now directly call them as methods on value objects.

Let’s say you want to write a query that takes all non-admin users with a power level over 9000 and returns their score rounded to the closest 100. In plain AQL this could be written like this:

FOR user IN users
FILTER user.isAdmin == false && user.powerLevel > 9000
RETURN ROUND(user.score / 100) * 100

..

(more…)

Create an ArangoDB cluster on Google Compute Engine with a single command

Estimated reading time: 3 minutes

Last week we’ve released the first version of our new deployment tool for cloud computing platforms with Digital Ocean support. (Edit: now also available: Amazon Web Services) Today we show how to deploy an ArangoDB cluster on Google Compute Engine with a single command.

Google Compute Engine

To easy-deploy an ArangoDB cluster on Google Compute Engine you just need to install the official gcloud tool, download a single bash script and watch the tool take care of the rest for you.

wget https://raw.githubusercontent.com/ArangoDB/deployment/publish/GoogleComputeEngine_ArangoDB_Cluster.sh chmod..
(more…)

Testing: Foxx + Mocha = <3

Estimated reading time: 1 minutes

Some of the most frequent questions by new programmers learning Foxx have been about testing. While the HTTP API can easily be tested with any HTTP client and any JavaScript code that can be isolated from the ArangoDB APIs could be tested in similar environments like Node.js or io.js, it was all but impossible to test Foxx apps inside ArangoDB.

The upcoming release of ArangoDB sets out to change this. As of version 2.6, ArangoDB Foxx will come with full support for Mocha tests allowing you to use the same test framework for your frontend code in the browser, your server-side code running on..

(more…)

Updating Documents with an Arangoimp Import

Estimated reading time: 1 minutes

Inspired by the feature request in Github issue #1298, we added update and replace support for ArangoDB’s import facilities.

This extends ArangoDB’s HTTP REST API for importing documents plus the arangoimp binary so they can not only insert new documents but also update existing ones.

(more…)