Introducing milestone release model and why is it better

00General, ReleasesTags: ,

When developing ArangoDB, we want to share with you new features as early as possible. For example, the pregel implementation that will become part of ArangoDB 3.2 was ready for testing weeks before the release date of the first beta release and the final release of 3.2.

Therefore we decided to create intermediate releases, called alpha releases, which contain new feature as early as they became stable. The benefits for the community and also for our developers team are: Read more

Dockerizing a Bloom-based Nonces Service in 10 Minutes

00Documentation, Foxx

In this article I want to explain how to setup a nonce-microservice using docker.

Nonce are one-time tokens that are used to ensure that an action can only be taken once. In a project, we needed to ensure that a pay button is only pressed once. Note that nonces are not used to sign requests or identify a user. This is a separate mechanism.

ArangoDB contains a nonce implementation which is a variation of Bloom-filters. It allows to store nearly unlimited nonces within a limited amount of memory. Nonce are allowed to age, that is after an hour they might expire. If there is sufficient interest, I will explain the algorithm implemented in a separate blog post.

More info

How an open-source competitive benchmark helped to improve databases

017General, Performance

TL;DR: Our initial benchmark has raised a lot of interest. Initially we wanted to show that multi-model can compete with other solutions. Due to the open and competitive way we have conducted the benchmark, the discussions around it have lead to improvements in all products, better algorithms, faster drivers and better ways to use the databases.

General Setup

From the outset we published all code and data and asked the vendors of all tested products as well as the general public, not only to run the tests on their own machines, but also to suggest improvements in the data models, test code, database configuration, driver usage and server configuration. This lead to a lively discussion, lots of pull requests and even to the release of improved versions of the database products themselves!

This process exceeded all our expectations and is yet another great example of community collaboration not only for fact finding but also for product improvements. Obviously, the same benchmark code will always show slightly different results when run on different hardware, operating systems, network setups and with more or less RAM. Therefore, a reliable result of a benchmark can essentially only be achieved by allowing everybody to run it on their own machines.

The technical setup is described in the above blog post. Let me briefly repeat the key facts.

More info

New Release ArangoDB 2.5

00Releases

This version is deprecated. Download the new version of ArangoDB

We are proud to announce the latest release of ArangoDB, adding a bunch of new features and lot’s of improvements to existing ones. ArangoDB 2.5 is available for download now and could be installed from your favourite package manager.

See the previous blogposts on sparse indexes performance, ES6 features in ArangoDB, improved Foxx development process or API Key management to learn more about ArangoDB 2.5 and check the manual for a deeper dive into specific features.

The AWS image of ArangoDB 2.5 will be available shortly.

Please give ArangoDB 2.5 a try and provide us with your valuable feedback.

More info

ArangoDB 2.3.5 | maintenance release

00Releases

This version is deprecated. Download the new version of ArangoDB

A new maintenance release for the 2.3 branch of ArangoDB is available.

Changes in v2.3.5 (2015-01-16)

  • fixed intermittent 404 errors in Foxx apps after mounting or unmounting apps
  • fixed issue #1200: Expansion operator results in “Cannot call method ‘forEach’ of null”
  • fixed issue #1199: Cannot unlink root node of plan

Note: The latest version is 2.4, released last week.

ArangoDB 2.4: EcmaScript 6, AQL Speedup and Hypermedia API Builder

04Releases

This version is deprecated. Download the new version of ArangoDB

We are proud to announce the release of Version 2.4 of our multi-model database ArangoDB. It’s ready for download now and available for all major platforms.

This release is a major step forward. Use Foxx to create your favorite microservice with a few clicks, dockerize it and access it via a REST/Web API from everywhere. – Dr. Frank Celler (CTO)

You can now use EcmaScript 6 features like iterators, symbols, maps and sets by default and enable even more ES6 features with ArangoDB start options. The V8 engine upgrade in ArangoDB 2.4 also improves performance and speeds up V8 garbage collections.

The ArangoDB query language (AQL) gets more efficient group count calculation queries, an optional return value for AQL data-modification queries and improved index handling in filtering AQL queries.

Foxx 2.0: The new Foxx-Generator is a framework that enables developers to build Hypermedia APIs easily. Developers can create Web APIs based on a semantic description of entities and transitions using a statechart alike design approach. Additional to the recently added job queues and authentication services, Foxx got a new web-frontend to easily create new or install Foxx applications from Github or the ArangoDB Store.

Try the new tutorial Foxx in 10 Minutes to build your first Foxx application. Starting with a new Foxx app has never been easier.

Along with ArangoDB the new light-weight JavaScript driver arangojs 3.0 is ready to use.

Download the current 2.4 release and start building your own applications on top of ArangoDB!

More info

Sending Mails from Foxx in the background via SendGrid

00Foxx

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 info

Crawling GITHUB with Promises

02API, Foxx, Javascript, nodejs

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 info

Do you like ArangoDB?
icon-githubStar this project on GitHub.
Star ArangoDB on GitHub