Static binaries for a C++ application

TL;DR; This describes how to generate a completely static binary for a complex C++ application which runs on all variants of Linux without any library dependency.

ArangoDB is a multi-model database written in C++. It is a sizable application with an executable size of 38MB (stripped) and quite some library dependencies. We provide binary packages for Linux, Windows and MacOS, and for Linux we cover all major distributions and their different versions, which makes our build and delivery pipeline extremely cluttered and awkward. At the beginning of this story, we needed approximately 12 hours just to build and publish a release, if everything goes well. This is the beginning of a tale to attack this problem. Read more

More info...

Win your free ticket and join ArangoDB @ JontheBeach 2018

We are thrilled to be attending one of Europe’s greatest events – JontheBeach (JOTB), an international rendezvous for developers and DevOps around Big Data technologies. No product talks just deep-tech topics presented by hand-picked speakers from Google, Apache Spark, RedHat, Stripe, Microsoft and many more. Read more

More info...

Welcome to the ArangoDB family, Ted Dunning!

We are absolutely thrilled to announce that one of the brightest and most respected minds in open-source software joins ArangoDBs Advisory Council. Hi, Ted and welcome to the ArangoDB family!
ted dunning
For those who don’t know Ted Dunning yet, maybe a quick introduction and the reason why the whole team is so amazed that he supports the project. Ted Dunning is Chief Application Architect at MapR, holds a PhD in computer science and is committer as well as PMC member of the Apache Mahout, Zookeeper and Drill projects. Besides his 25 patents, and even more pending, he mentors multiple well-known Apache projects like Storm, Flink, or DataFu with his broad experiences across industries and technologies. Ted contributes so much to the open-source world and we feel blessed to have him on board at ArangoDB. Read more

More info...

ArangoDB Easter Egg Hunt: Join the Fun and Discover Surprises!

While working hard on the next release and hacking away new interesting things to include into our favourite database, we decided to take a short break to have some fun just in time for Easter. All teams gathered together to do some Easter eggs coloring, chocolate-eating and fun-having 🙂

We’ve colored a lot of eggs in our favourite colors – green and brown, and hid them all around our office and beyond. Now, here is a little challenge for you to help us find them. Read more

More info...

Using the ArangoDB Swagger.io Interactive API Documentation

ArangoDB bundles its regular API Documentation also in Swagger.IO API description format. You can browse and explore it interactively via the ArangoDB Webinterface.
Read more

More info...

The ArangoDB Operator for Kubernetes – Stateful Cluster Deployments in 5min

At ArangoDB we’ve got many requests for running our database on Kubernetes. This makes complete sense since Kubernetes is a highly popular system for deploying, scaling and managing containerized applications.

Running any stateful application on Kubernetes is a bit more involved than running a stateless application, because of the storage requirements and potentially other requirements such as static network addresses. Running a database on Kubernetes combines all the challenges of running a stateful application, combined with a quest for optimal performance.

This article explains what is needed to run ArangoDB on Kubernetes and what we’re doing to make it a lot easier.

Interested in trying out ArangoDB? Fire up your database in just a few clicks with ArangoDB ArangoGraph: the Cloud Service for ArangoDB. Start your free 14-day trial here. Read more

More info...

ArangoDB Cluster Administration Course Released

Cluster Administration course will take you all the way from concept and anatomy of the ArangoDB cluster to maintenance, resilience and troubleshooting of your distributed environment.

When data size or workload makes purchasing of a single database server prohibitive one needs to rethink the system architecture and consider to cluster a farm of more affordable machines. While ArangoDB clusters bring additional added value like seamless runtime scaling and thin provisioning, their management can look testy and challenging. Read more

More info...

Configuring ArangoDB-PHP to use active failover

This article is about setting up active failover for ArangoDB-PHP, the PHP client driver for ArangoDB. It requires ArangoDB-PHP 3.3.2 or higher, and an ArangoDB server version of 3.3.4 or higher.

Interested in trying out ArangoDB? Fire up your cluster in just a few clicks with ArangoDB ArangoGraph: the Cloud Service for ArangoDB. Start your free 14-day trial here

Active failover: basic setup

Historically, ArangoDB-PHP has been able to connect to a single ArangoDB endpoint, i.e. one combination of IP address and port number.

To connect to an ArangoDB server that is running on localhost or on a remote server, simply set the `OPTION_ENDPOINT` item in the `ConnectionOptions` and connect: Read more

More info...

Index types and how indexes are used in ArangoDB: Part II

In the first part of this article we dived deep into what indexes are currently available in ArangoDB (3.2 and 3.3), also briefly looking at what improvements are coming with ArangoDB 3.4. Read Part I here.

In this Part II, we are going to focus on how to actually add indexes to a data model and speed up specific queries.

Adding indexes to the data model

The goal of adding an extra index to the data model is to speed up a certain query or even multiple queries.

One of the first things that should be done during development of AQL queries should be to review the output of the explain command. A query can be explained using ArangoDB’s WEB UI or from the ArangoShell. In the ArangoShell it is as simple as db._explain(query), where query is the AQL query string. To explain a query which also has bind parameters, they need to be passed separately into the command, e.g. db._explain(query, bindParameters).
Read more

More info...

How We Wronged Neo4j & PostgreSQL: Update of ArangoDB Benchmark 2018

Recently, we published the latest findings of our Performance Benchmark 2018 including Neo4j, PostgGreSQL, MongoDB, OrientDB and, of course, ArangoDB. We tested bread & butter tasks in a client/server setup for all databases like single read/write and aggregation, but also things like shortest path queries which are a speciality for graph databases. Our goal was and is to demonstrate that a native multi-model database like ArangoDB can at least compete with the leading single model databases on their home turf.

Traditionally, we are transparent with our benchmarks, learned plenty from community feedback and want to keep it that way. Unfortunately, we did something wrong in our latest version and this update will explain what happened and how we fixed it. Read more

More info...

Get the latest tutorials,
blog posts and news: