ArangoDB Weekly Newsletter – January 8, 2015

The ArangoDB team is back from holidays, wishing you and your families a happy New Year 2015. This year will become a good one for multi-model databases – like ArangoDB – according to analysts, quoted in the NoSQL trends 2015 article from Dataversity. This newsletter covers the last 3 weeks, including the beta of ArangoDB 2.4, build on christmas eve.

(more…)

More info...

Foxx SendGrid Integration: ArangoDB Tutorial

ArangoDB Foxx allows defining job queues that let you perform slow or expensive actions asynchronously.

These queues can be used to send emails, call external APIs or perform other actions that you do not want to perform directly or want to retry on failure. Let’s say you want to send out an email every time you check off an item in your Foxx todo app and you want to use an external transactional email service to do that. (more…)

More info...

Crawling GitHub with Promises: ArangoDB Tutorial

The new Javascript driver no longer imposes any promises implementation. It follows the standard callback pattern with a callback using err and res.

I wanted to give the new driver a try. A github crawler seemed like a good side-project, especially because the node-github driver follows the same conventions as the Javascript driver.

There are a lot of promise libraries out there. The most popular one – according to NPM – was promises. It should be possible to use any implementation. Therefore I used this one.

(more…)

More info...

Weekly Newsletter – December 18, 2014 | ArangoDB Updates

ArangoDB Releases

We released ArangoDB 2.3.3 – a maintenance release with some bug fixes. Here are some of the fixes:

  • fixed error handling in instantiation of distributed AQL queries
  • issue #1185: parse non-fractional JSON numbers with exponent (e.g. 4e-261)
  • issue #1159: allow –server.request-timeout and –server.connect-timeout of 0

ArangoDB related (Drivers & more)

  • aqb 1.4.1: ArangoDB query builder (npm) fluent JS API by Alan Plum
  • guacamole 0.4.0 (rubygems.org): An ODM for ArangoDB by Dirk Breuer and Lucas Dohmen
  • Travesedo: J Patrick Davenport started a new Clojure driver for ArangoDB
  • pyArango (beta): Tariq Daouda contributed a python driver with validations. (more…)
More info...

Getting Started with Guacamole in Rails: ArangoDB Tutorial

Please note that parts of this article will not work out of the box with ArangoDB 3.0

Using ArangoDB as your main database is a good idea for various reasons. What I personally like about it is its query language AQL. I used relational databases in the past as my main database and writing statements in a language similar to SQL was a great way for me to get started with ArangoDB.

Having a HTTP based interface (like all the cool kids these days) we could build applications running solely on top of our database. That’s rather nice but then we would have to take care of all the gory details. So for our app we want at least an abstraction layer on top of the HTTP API. Better yet, something assisting us with modeling our domain logic.

Meet Guacamole: A object-document-mapper that takes care of all the busywork and allows you to focus on your domain. (more…)

More info...

Bulk Inserts: MongoDB vs CouchDB vs ArangoDB (Dec 2014)

More than two years ago, we compared the bulk insert performance of ArangoDB, CouchDB and MongoDB in a blog post.

The original blog post dates back to the times of ArangoDB 1.1-alpha. We have been asked several times to re-run the tests with the current versions of the databases. So here we go.

(more…)

More info...

ArangoDB 2.3.3 Release: Enhancements & Bug Fixes

This version is deprecated. Download the new version of ArangoDB

A maintenance release for ArangoDB 2.3 is available for download or via your favourite package manager.

v2.3.3 (2014-12-17)
-------------------

* fixed error handling in instantiation of distributed AQL queries, this 
  also fixes a bug in cluster startup with many servers

* issue #1185: parse non-fractional JSON numbers with exponent (e.g. `4e-261`)

* issue #1159: allow --server.request-timeout and --server.connect-timeout of 0
More info...

ArangoDB Query Builder: Simplifying Database Queries

The most powerful way to query your data in ArangoDB is by using ArangoDB’s own query language, AQL. In the past using AQL in your JavaScript code sadly would often require writing long, unwieldy strings. This made writing complex queries difficult and could often lead to subtle syntax errors or mistakes.

The ArangoDB Query Builder (AQB) is a JavaScript node packaged module that provides a fluid API for writing AQL queries in plain JavaScript. And if you’re using ArangoDB 2.3, the aqb module is already available to your Foxx applications. (more…)

More info...

Enhanced AQL in ArangoDB 2.4: Boost Query Performance

While on a retreat in Belgium, we found some spare time to work on improvements for AQL. These will be shipped with ArangoDB version 2.4, and are already available in the devel version for testing from now on.

Here’s a short overview of the improvements:

Collect with count

A common use case in query languages is to count the number of documents returned by a query. The AQL solution for this has been to use the LENGTH function and a subquery:

RETURN LENGTH((
  FOR doc IN collection 
    FILTER doc.someAttribute == someValue
    RETURN doc
  ))

This is quite long and probably unintuitive for people which have used SQL for years.

We therefore now allow using the following alternative version:

Read more on Jan’s Blog

More info...

Weekly Newsletter – December 11, 2014 | ArangoDB Updates

ArangoDB Release

We released ArangoDB 2.3.2 with some bug fixes. You can find a full list of changes in our change-log. Here is a short extract:

  • added AQL optimizer rule for removing INTO from a COLLECT statement if not needed
  • fixed missing makeDirectory when fetching a Foxx application from a zip file
  • fixed issue #1173: AQL Editor “Save current query” resets user password

ArangoDB related (Drivers & more)

  • ArangoPy 0.5.3 (Python): Sascha Häusler has updated the Python driver so it is compatible with 2.3
  • ansible-arangodb 1.0.0: Patrick Huber made an install helper, in this case Ansible-Galaxy. Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates

Documentation and Cookbook

  • Joins in AQL: How to join documents from several collections. Thanks to Frank Celler

(more…)

More info...

Get the latest tutorials,
blog posts and news: