ArangoDB: Consensus for Enhanced Data Stability

nihil novi nisi commune consensu
nothing new unless by the common consensus

– law of the polish-lithuanian common-wealth, 1505

A warning aforehand: this is a rather longish post, but hang in there it might be saving you a lot of time one day.

Introduction

Consensus has its etymological roots in the latin verb consentire, which comes as no surprise to mean to consent, to agree. As old as the verb equally old is the concept in the brief history of computer science. It designates a crucial necessity of distributed appliances. More fundamentally, consensus wants to provide a fault-tolerant distributed animal brain to higher level appliances such as deployed cluster file systems, currency exchange systems, or specifically in our case distributed databases, etc. Read more

More info...

ArangoDB 2016 – A Year in Review

Important Steps this Year

2016 is about to see its final days and things are calming down, so Frank and I thought about the year that lies behind us. It was a really exciting year for the whole ArangoDB project and for us as founders. In 2016 we saw our team doubling in size, ArangoDB 3 series got launched and we became part of the Target Partners family. Many other great things happened this year and with this post we want to take the chance to say “Thank you” to all our supporters.

For the whole team it was and is super motivating to see that practically the same growth we experienced team-wise happened to the ArangoDB community. Exceeding the 3000 stargazer landmark right before Christmas was indeed a nice present, but it also reminds us that more and more people rely on what we create. Read more

More info...

Starting an ArangoDB cluster the easy way

Recently, we have got a lot of feedback about the fact that standing up an ArangoDB cluster “manually” is an awkward and error-prone affair. We have been aware of this for some time, but always expected that most users running ArangoDB clusters would do so on Apache Mesos or DC/OS, where deployment is a breeze due to our ArangoDB framework.

However, for various valid reasons people do not want to use Apache Mesos and thus are back to square one with the problem of deploying an ArangoDB cluster without Apache Mesos. Read more

More info...

ArangoDB FoxxChallenge: Developer Competition

The Challenge

arangodb-foxx-logoStarting today we launch the ArangoDB #FoxxChallenge and the winner will receive a brand new Amazon Echo.

Use your knowledge about everyday needs in projects and create a Foxx service that could be helpful for others. If you need some inspiration here some ideas: Read more

More info...

ArangoDB Snapcraft Packaging: Simplified Deployment

ArangoDB Packaging

With ArangoDB 3.0 we reworked the build process to be based completely on cmake. The packaging was partly done using cpack (Windows, Mac), for the rest regular packaging scripts on the SuSE OBS were used. With ArangoDB 3.1 we reworked all packaging to be included in the ArangoDB Source code and use CPack. Users can now easily use that to build their own Packages from the source, as we do with Jenkins. Community member Artur Janke (@servusoft) contributed the new ubuntu snap packaging assisted by Michael Hall (@mhall119). Big thanks for that!

Download packages for Snap Ubuntu Core16.04 Read more

More info...

ArangoDB Secures €2.2M Investment Led by Target Partners

Funding to accelerate the company’s product development and international expansion

Munich/Cologne (Germany), November 24th, 2016: – ArangoDB GmbH (www.arangodb.com), the company behind one of the fastest growing next generation databases, has landed a 2.2 million Euro investment led by Munich-based venture capital firm Target Partners (www.targetpartners.de). The company develops the open-source NoSQL database ArangoDB, which combines three major data models (graph, key/value, JSON-documents) in one database and one query language. ArangoDB’s product allows startups and enterprises alike to speed up their innovation cycles, simplify their technology stack and increase on-time and on-budget delivery of software projects.

Claudius Weinberger, Co-Founder and CEO, declares: “The previous funding round allowed us to build a rock-solid product and with this additional investment we can further accelerate our growth and expand internationally.” Read more

More info...

How to model customer surveys in a graph database

Use-Case

The graph database use-case we are stepping through in this post is the following: In our web application we have several places where a user is led through a survey, where she decides on details for one of our products. Some of the options within the survey depend on previous decisions and some are independent.

Examples:

  • Configure a new car
  • Configure a new laptop
  • Book extras with your flight (meal, reserve seat etc.)
  • Configure a new complete kitchen
  • Collect customer feedback via logic-jump surveys

Read more

More info...

Learn ArangoDB while contributing

We are fortunate to live in an open-source world with a fairly large international community of users and contributors, which has been only growing more and more in the past year. (Big thanks for that, by the way 😉 ) Especially that we have recently received quite a few requests on how one can contribute to ArangoDB in an easy and quick way, we have decided that the time has come to get closer to our community and get even more involved.

A lot of great ideas came up during a chat with some of our long-term users on how we could improve on that front. Among all others, the most straightforward one is asking the community for some help and support on GitHub. So we took a bit of time to go through open issues and selected a few now tagged ‘Help Wanted’. Here is a selection of easy tasks that will get you started contributing to ArangoDB with code or ideas and concepts for features. It is only a few to start with, but if you want to get involved we would appreciate your helping hand! Read more

More info...

ArangoDB 3.1: Scaling Solutions, Part II

It’s not that long ago since we released ArangoDB 3.0 in which we introduced our binary storage format VelocyPack, the ArangoDB Agency for a self-managing cluster and the first persistent index by implementing Facebooks RocksDB. With all that we laid the foundation for a solid ground to scale with all three data-models.

With today’s ArangoDB 3.1 release we take things a few steps further and make cluster usage of ArangoDB more performant and convenient. Get ArangoDB 3.1.

General upgrades in 3.1

  • Performance boost with our new boost-ASIO server infrastructure
  • Performance boost by overhauling the ArangoDB query optimizer
  • Improved internal abstraction for storage-engines as a preparation for MVCC and pluggable storage-engines
  • VelocyPack over HTTP: Use our binary storage format VelocyPack over HTTP
  • VelocyStream: for high performance needs you can now directly stream VelocyPack. This is already implemented in our Java driver (all other drivers maintained by ArangoDB will follow soon).

Cluster

  • Parallel Intra-Cluster-Communication
  • HLC: The Hybrid Logical Clock is used for timestamps in revision strings which is part of the preparation for cluster-wide transactions
  • Auto-failover timeouts: you can now configure the timeouts for automatic failovers
  • Progress Display when relocating shards
  • Stand-Alone Agency: You can now use ArangoDB as a resilient, RAFT-based key/value store as an alternative to e.g. ZooKeeper or etcd. (You’ll surely ask yourself why we created it and we’ll answer this legitimate question in a blog post soon).

Graph Features

  • Vertex-centric indices for graphs in AQL: You can now generate indices on edges which are a combination of the vertex and an attribute.
  • SmartGraphs: This is a the big new feature of our Enterprise Edition and enables you to shard really huge graphs to a cluster and achieve close to the same performance as on a single instance. Read more about SmartGraphs and our Enterprise Edition.

For the Java World

We put a lot of effort into our new Java Driver which will only work with ArangoDB 3.1 onwards. Our Java team completely refactored the driver which is now up to 4x faster than the previous one. The new features include:

  • multi document operations
  • Uses VelocyPack
  • VelocyStream ready
  • asynchronous request handling

Read more about the features in the corresponding blog post. You can download the new Java drivers here: ArangoDB-Java-Driver 4.1.0 & ArangoDB-Java-Driver-Async 4.1.0. We also included a new detailed Java drivers documentation.

Web UI

  • New Graph Viewer: The previous solution was not suitable for large graph visualizations. With an extended Canvas support the Graph Viewer is now feature-rich and can handle large graph visualizations. As a second engine we made a first implementation of WebGL. Feedback to our new GraphViewer is highly appreciated.
  • AQL Editor: We invested a lot into usability and e.g. simplified the elaboration of performance issues of your queries. With the Query Performance Profiler you can now get info about the query performance so you can investigate which part of the execution took how long. You can also choose between JSON, tabular and graph output for your results.

We hope that we included many useful features for you into ArangoDB 3.1. We appreciate your feedback about the new release a lot. If you’re missing something, find a bug or want to talk about an idea with us, feel free to get in touch via our Slack Community channel or contact us form.

Have fun playing around with ArangoDB 3.1!

More info...

ArangoDB 3.1 Enterprise: Scaling Graphs

In addition to our community version of ArangoDB 3.1 we are excited to release our first Enterprise Edition today. The Enterprise Editions of ArangoDB focuses on enterprise-scale problems and provides useful features to meet the requirements of enterprise customers. You can download a free evaluation-only version here: Download Enterprise Edition. ArangoDB Enterprise Edition also comes with the Enterprise subscription, including comprehensive support SLA.

This first ArangoDB Enterprise Edition includes three major features:

  • SmartGraphs: Scale with graphs to a cluster and stay performant. With SmartGraphs you can use the “smartness” of your application layer to shard your graph efficiently to your machines and let traversals run locally
  • Encryption Control: Choose your level of SSL encryption
  • Auditing: Keep a detailed log of all the important things that happened in ArangoDB

Read more

More info...

Get the latest tutorials,
blog posts and news: