ArangoDB 1.01 Released: What’s New? | ArangoDB 2012

This version is deprecated. Download the new version of ArangoDB

Quick note: ArangoDB 1.01 is available. This is a bugfix release. Check the “ArangoDB Google group” for the changelog . By the way – a lot of interesting discussions on ArangoDB, its feature roadmap and how it works in detail, are taking place there. Binaries are always available in the download section.

More info...

ArangoDB 2012: Performance Across Different Journal Sizes

As promised in one of the previous posts, here are some performance results that show the effect of different journal sizes for insert, update, delete, and get operations in ArangoDB. (more…)

More info...

Get 20% Off: NoSQL Matters Barcelona | ArangoDB 2012

We are on the road again and are invited to give a talk at the “nosql matters”  in Barcelona. This is a one day conference in an amazing looking venue (UNESCO world heritage).

Now the conference team offered us a couple of promo codes for “nosql matters” on October, 6th.  Katja, one of the organizers, writes:

“there might be some friends, colleagues, contacts or even your followers on twitter who are interested in hearing your talk at NoSQL matters Barcelona. Therefore we would like to give them the opportunity to buy price reduced tickets. With the promotion code BCNSchoenert_7959 you can give 5 of them the chance to buy a ticket with 20% discount.”

So, here we are. Grap the code and get your ticket. We are looking forward to meeting you in Spain.

More info...

Bulk Inserts Comparison: MongoDB, CouchDB, ArangoDB ’12

In the last couple of posts, we have been looking at ArangoDB’s insert performance when using individual document insert, delete, and update operations. This time we’ll be looking at batched inserts. To have some reference, we’ll compare the results of ArangoDB to what can be achieved with CouchDB and MongoDB.
(more…)

More info...

Bulk Insert Benchmark Tool | ArangoDB 2012

To easily conduct bulk insert benchmarks with different NoSQL databases, we wrapped a small benchmark tool in PHP. The tool can be used to measure the time it takes to bulk upload data into MongoDB, CouchDB, and ArangoDB using the databases’ bulk documents APIs.
(more…)

More info...

ArangoDB 2012: Additional Results for Mixed Workload

In a comment to the last post, there was a request to conduct some benchmarks with a mixed workload that does not test insert/delete/update/get operations in isolation but when they work together.

To do this, I put together a quick benchmark that inserts 10,000 documents, and after each insert either

  • directly fetches the inserted document (i.e. insert / get),
  • updates the inserted documents and retrieves it (i.e. insert / update / get), or
  • deletes it (i.e. insert / delete)

The three cases are alternated deterministically, meaning each case occurs with the same frequency and in the same order. It’s probably still not the best ever test case, but at least it reflects a mixed read and write workload.

The document ids used in the test were monotically increasing integers, starting from some base value. That means no random values were used.

The test was repeated for 100,000 documents as well. The dataset still fully fits in RAM. The tests were run in the same environment as the previous tests so one can compare them.

The results are in line with the results shown in the previous post. Here’s the chart with the results of the 10,000 documents benchmark:

times combined 10000

And here are the tests result for the 100,000 documents benchmark:

times combined 100000
More info...

Data Modeling in a Schema-Free Environment | ArangoDB 2012

Jan Steemann giving a talk on nosql data modelling at FrosconWe just came back from FroSCon, a large, international open source conference near Bonn, Germany. Jan Steemann, one of the core developers of ArangoDB, had a talk on modelling data in a schema-free world. Jan was given the largest room in the conference for this talk, fortunately a lot of people showed up and even stayed ;-).

You can find Jan’s presentation below.

(more…)

More info...

ArangoDB vs. CouchDB Benchmarking | ArangoDB 2012

A side-effect of measuring the impact of different journal sizes was that we generated some performance test results for CouchDB, too. They weren’t included in the previous post because it was about journal sizes in ArangoDB, but now we think it’s time to share them.
(more…)

More info...

ArangoDB 2012: Exploring Additional Datafile Sizes

A while ago we wrote some blog article that explained how ArangoDB uses disk space. That article compared the disk usage of ArangoDB, CouchDB, and MongoDB for loading some particular datasets. In this post, we’ll show in more detail the disk usage of ArangoDB for insert, update, and delete operations. We’ll also compare it to CouchDB for reference.
(more…)

More info...

ArangoDB for Node.js Integration | ArangoDB 2012

Note: Our new official nodejs driver is arangojs. You also can look at this blogpost about the new driver.

We got a note from Anders Elo from Sweden. He told us that he has released a ArangoDB client for node.js. Awesome! :-) You can find it on Github under the URL https://github.com/kaerus/arango-client. To install locally

npm install git://github.com/kaerus/arango-client

Anders also writes:

  • It's still lacking features and is prone to changes but it works quite nice, atleast I think so. :) I've not documented this project as of yet due to lack of time so I'll briefly instruct you by some examples.*
var arango = require('arango.client'), util = require('util');

/* Prepare a connection, defaults {protocol:'http', hostname:'127.0.0.1', port: 8529} */ 
db = new arango.Connection({name:"testcollection"});

/* we need to first create our test collection */
db.collection.create(function(err,ret){
  console.log("err(%s): ",err, ret);
});

/* create a new document in collection */
db.document.create({a:"test"},function(err,ret){
  if(err) console.log("error(%s): ", err,ret);
  else console.log(util.inspect(ret));
});

/* create a document and a new collection on demand */
db.document.create(true,"newcollection",{a:"test"},function(err,ret){
  if(err) console.log("error(%s): ", err,ret);
  else console.log(util.inspect(ret));
});

/* alternate style utilizing events */
db.document.list().on('result',function(result){
  console.log(util.inspect(result));
}).on('error',function(error){
  console.log("error(%s):", error.code, error.message);
});

The interface to the ArangoDB REST api resides in the lib/api directory. You can find out more details there. Anders also includes some tests, just runt "npm test" to execute them.

More info...

Get the latest tutorials,
blog posts and news: