Exploring More ES6 Features: ArangoDB Insights

ArangoDB 2.5 comes with an upgraded version of V8, Google’s open source JavaScript engine.

The built-in version of V8 has been upgraded from 3.29.54 to 3.31.74.1.

In addition to several already usable ES6 features (detailed in this blog, the following ES6 features are activated in ArangoDB 2.5 by default:

  • iterators and generators
  • template strings
  • enhanced object literals
  • enhanced numeric literals
  • block scoping with let and constant variables using const
  • additional String methods (such as startsWith, repeat etc.)

The above features are available in ArangoDB 2.5, and can now be used for scripting purposes in the ArangoShell and in server-side Foxx actions inside the database.

This blog post briefly explains the features provides some quick examples for using them.

Read more on Jan’s Blog

ArangoDB 2.4.4 Release: Stability and Performance Enhancements

This version is deprecated. Download the new version of ArangoDB

A maintenance release for ArangoDB 2.4 is available for download or via your favorite package manager.

v2.4.4 (2015-02-24)

  • fixed the generation template for foxx apps. It now does not create deprecated functions anymore
  • add custom visitor functionality for GRAPH_NEIGHBORS function, too
  • increased default value of traversal option maxIterations to 100 times of its previous default value
  • fixed issue #1256: agency binary not found #1256

When and how to use sparse indexes in ArangoDB 2.5

This version is deprecated. Download the new version of ArangoDB

In ArangoDB 2.5, hash and skiplist indexes can optionally be made sparse.

Such sparse indexes will exclude documents in which at least one of the index attributes is either not set or has a value of null. Declaring an index as sparse can provide great savings in memory and index creation CPU time for some cases.

(more…)

ArangoDB 2.5 Beta: Test New Features & Enhancements

This version is deprecated. Download the new version of ArangoDB

The current sprint comes to an end and ArangoDB 2.5 is available as beta. We appreciate your feedback and hope that many developers try this new beta release.

We have used the last weeks to improve the Foxx framework for data-centric microservices – enhancing debug capabilities, improving development-mode and the install process – to make the development of Foxx applications easier than ever.

We upgraded two main ArangoDB components, V8 and etcd to the latest versions (V8 3.31.74.1 and etcd 2.0) to support even more ES6 features and to benefit from a robust rewrite of etcd for cluster configuration.

We’ve also improved core database capabilities by adding sparse hash and skiplist indexes, dynamic attribute names and more optimizer rules. Read the full list of changes in the CHANGELOG.

ArangoDB at NoSQL Matters Paris: Insights & Innovations

If you are interested in NoSQL and come from France, the NoSQL matters conference in Paris is your place to go. ArangoDB contributes with a workshop and a talk and is a silver sponsor of the conference as well. You can meet our team at the exhibition space and ask your ArangoDB questions in person.

Tickets are available for both days, starting at €299 for the conference pass.

Anyway, come and meet us at the historical Tapis Rouge venue in the heart of Paris city!

Building Single Page Applications with Angular.JS and Foxx

Workshop on March, 26th

Angular.JS is Google’s open-source JavaScript framework optimized to build awesome single page applications. This ease of use has convinced many developers to switch. With MVC in the browser all you need from your backend is an easy way to define an API for your data.- That’s where Foxx excels.

In this training session we will build a simple single page application. Showing you how to use Angular.JS and what is a good way to define your model using Foxx.

Polyglot Persistence & Multi-Model NoSQL Databases

Talk on March, 27th (10 am)

In many modern applications the database side is realized using polyglot persistence – store each data format (graphs, documents, etc.) in an appropriate separate database. This approach yields several benefits, databases are optimized for their specific duty, however there are also drawbacks:

  • keep all databases in sync
  • queries might require data from several databases
  • experts needed for all used systems

A multi-model database is not restricted to one data format, but can cope with several of them. In this talk i will present how a multi-model database can be used in a polyglot persistence setup and how it will reduce the effort drastically.

ArangoDB in San Francisco: Exciting Developments & Events

Join parts of the ArangoDB team in San Francisco. Max and Claudius are visiting the Bay Area from mid-February till end of March. Starting with the StrataConf in San Jose, Feb 17–20, 2015 Max and Claudius want to meet people, start cooperations, visit meetups and tell people in the Bay Area about ArangoDB.

If you know any hackerspaces we definitely should go, drop us a line and we will try to be there. We would be happy to see some of you guys in person and to respond to every question you may have about ArangoDB.

Comparison: Lockless programming with atomics in C++ 11 vs. mutex and RW-locks

ArangoDB is multithreaded and able to use several CPU-cores at once. Because of that access to common data structures to these threads have to be protected from concurrent access. ArangoDB currently uses mutexes, spinlocks and RW-locks for that. With the ongoing development of the MVCC the number of situations where protected access is needed grows significantly. If locking is done too often the scalability is effectively limited to one core. So this test was done to estimate the costs, and evaluate other solutions – so called lockless programming with atomics.

(more…)

ArangoDB 2.4.3 Release: Bug Fixes and Enhancements

This version is deprecated. Download the new version of ArangoDB

A maintenance release for ArangoDB 2.4 is available for download or via your favorite package manager.

v2.4.3 (2015-02-06)

  • fix multi-threading with openssl when running under Windows
  • fix timeout on socket operations when running under Windows
  • Fixed an error in Foxx routing which caused some apps that worked in 2.4.1 to fail with status 500: undefined is not a function errors in 2.4.2 This error was occurring due to seldom internal rerouting introduced by the malformed application handler.

ArangoDB Logstash Output: Efficient Data Integration

Logstash

Inspired by a question on StackOverflow, I did some investigation about how to make Logstash send log events to ArangoDB.

There is no dedicated Logstash output plugin for ArangoDB on the Logstash plugins page, so I had already accepted to write one on my own.

Browsing the plugins page for inspiration, I found an HTTP output plugin for Logstash. It seems to be general enough that it can send the log event in JSON format to any HTTP-speaking backend.

ArangoDB’s API is JSON over HTTP, so it sounded like a perfect match. I briefly tried it out and it seemed to work fine.

Read more on Jan’s Blog

Dynamic Attribute Names in AQL: ArangoDB Techniques

On our mailing list, there is quite often the question whether attribute names in objects returned from AQL queries can be made dynamic. Jan discusses in his blog how such dynamic attribute names could be expressed and shows the current implementation that comes with ArangoDB 2.5 – adapting an ES6 proposal that might bring robust dynamic variable names to JavaScript as well.

In ArangoDB 2.5 you will be able to use dynamic variable names as follows:

FOR doc IN collection
  LET type = doc.type;
  RETURN { [type] : doc.value }

Functions are allowed as well:

FOR i IN 1..3 
  RETURN { 
    [ CONCAT('test', i) ] : i
  }    

Read on here

Get the latest tutorials, blog posts and news: