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

Vector-5

Infographic – comparing the disk space usage of MongoDB, CouchDB and ArangoDB

Estimated reading time: 0 minutes

As a follow-up of Jan’s blog post we have extracted some central figures and created this infographic for your reference.

(more…)

Disk space usage in ArangoDB

Estimated reading time: 8 minutes

In this post we’ll explain how ArangoDB stores collection data on disk and look at its storage space requirements, compared to other popular NoSQL databases such as CouchDB and MongoDB.

How ArangoDB allocates disk space

ArangoDB stores documents in collections. The collection data is persisted on disk so it does not get lost in case of a server restart.

(more…)

Benchmarking ArangoDB’s networking and HTTP layer

Estimated reading time: 7 minutes

…or: The Great Server Shootout

ArangoDB is a database server that talks HTTP with its clients: clients send HTTP requests to ArangoDB over TCP/IP, ArangoDB will process them and send back the results to the client, packaged as HTTP over TCP/IP.

ArangoDB’s communication layer is thus the foundation for almost all database operations, and it needs to be fast to not become a bottleneck, blocking further database operations.To assess the actual performance of the communication layer, we did some benchmarks that compare ArangoDB’s network and HTTP processing capabilities with those of other..

(more…)

MRuby Links

Estimated reading time: 1 minutes

I’ve started the following collection of links, example code, projects, and articles about mruby. This list is most likely not complete, if you have other interesting articles please let me know. Especially sample code and mruby projects.

(more…)

CRuby vs MRuby FAQ

Estimated reading time: 1 minutes

At our last Ruby user group meeting it was asked, what the differences between CRuby and MRuby are. @junjis0203 wrote a MRuby FAQ. Unfortunately, it’s in Japanese. I’ve tried to translate it using http://www.excite.co.jp/world/english/ & Google translate and added my own findings.

Not all classes and method from CRuby are available in MRuby

MRuby does not guarantee to implement the features which are defined in ISO / IEC 30170

Regular Expression

Mruby allows you to switch features on or off depending on your needs and available space. These features are defined in “include/mrbconf.h”. One of..

(more…)

AQL: Querying a nosql database the elegant & comfortable way

Estimated reading time: 2 minutes

Having a long history with relational databases and having worked for a lot of years with SQL some people find it a bit inconvenient querying nosql databases e.g. via REST. Others have rather complex data models and need nevertheless an elegant and convenient way for querying. And we all love clean and simple interfaces.

ArangoDB comes with a couple of options for querying the data, among offer it implements the “ArangoDB Query Language” (AQL).

AQL is a declarative query language for simple and also very complex queries. Unless like in other nosql databases you can also query across..

(more…)

“Use-Cases for MRuby in a Database like ArangoDB” or “Can MRuby be the next PL/SQL?”

Estimated reading time: 3 minutes

In the relational world, PL/SQL is used to store business/application logic inside the relational database. The same movement is currently happening in the NoSQL. Redis for example uses LUA script in its newest version (2.6), to allow developers to tweak Redis. There a lot of use-cases for a programming language in document-stores. Programming languages are used in various document stores like ArangoDB, CouchDB, MongoDB, or VoltDB. In my opinion in the following use-cases a suitable language like Ruby will be most handy.

(more…)

HTTP Client for MRuby

Estimated reading time: 2 minutes

As Dorthe pointed out, we are on the road for the next two weeks. So, I thought it might be a good idea to put everything together. In the last blog posts, I described

(more…)

Meet us at Nosql matters, Berlin Buzzwords or EuRuKo

Estimated reading time: 0 minutes

Just a quick note: We are on the road… you can meet us in person at the following conferences:

(more…)

JSON Parser for MRuby or how to define classes and exceptions in C

Estimated reading time: 3 minutes

MRuby is progressing quite rapidly, it is now possible to implement a real REPL, see github. So, it is time to continue my efforts to integrate MRuby into ArangoDB. ArangoDB currently uses JavaScript to implement transactions and enrich the database with small Actionlets, i. e. functions that take a HTTP request and produce a HTTP response. Additionally, there is a shell, which allows you to administrate the server.

I want to be able to also use MRuby for these jobs. These easiest part is the interactive shell. It requires the following components:

(more…)