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...

ArangoDB Spark Connector: Seamless Integration

Currently we are diving deeper into the Apache Spark world. We started with an implementation of a Spark-Connector written in Scala. The connector supports loading of data from ArangoDB into Spark and vice-versa. Today we release a first prototype with an aim of including our community into the development process early to build a product that fits your needs. Your feedback is more than welcome! Read more

More info...

ArangoDB and DC/OS Webinar: Scaling Made Simple

Wednesday, October 26th

DC/OS provides ArangoDB with exactly the infrastructure it needs for implementing a modern distributed stateful service. Join this upcoming webinar to learn how DC/OS quickly and easily deploys ArangoDB to provide scaling and fault tolerance with automatic replacement of failed components. While DC/OS supplies the management of resources and hence allows multiple services to share a common infrastructure, ArangoDB provides a modern persistence layer with its multi-model, fault-tolerant datastore. Read more

More info...

Improved Java Drivers for ArangoDB 3.1 Release

The upcoming 3.1 release comes with a binary protocol – VelocyStream – to transport VelocyPack (internal storage format of ArangoDB introduced with the 3.0 release) data between ArangoDB and client applications. VelocyPack stores a superset of JSON, is more compact and has a fast attribute lookup. On the other hand, VelocyStream allows to send VelocyPack in an optimized form over the network. We think it would be the right time to update our official Java Driver to modernize it and to let it be the first to fully support VelocyStream. Read more

More info...

ArangoDB 3.1 Release Candidate 2: What’s New

We are glad to announce that the second release candidate (RC2) of ArangoDB 3.1 is publicly available. What makes this release particularly special to us is that it also includes an official release candidate of our new Enterprise Edition with a few extra add-ons up its sleeve. The upcoming ArangoDB 3.1 will be a significant release taking effort from the solid base built with ArangoDB 3.0 which introduced our binary storage format VelocyPack, the ArangoDB Agency for a self-managing cluster architecture and the first persistent index based on Facebook’s RocksDB.

RC2 of ArangoDB 3.1 is available for download and evaluation: Community Edition & Enterprise Edition. The documentation for the ArangoDB 3.1 RC 2 can be found here.
Read more

More info...

Deploy ArangoDB 3 Cluster: 2-Click Setup

Hurray! Last week finally saw the release of ArangoDB 3.0 with lots of new features and in particular various improvements for ArangoDB clusters. In this blog post, I want to talk about one aspect of this, which is deployment.

DC/OS

As of last Wednesday, deploying an ArangoDB 3.0 cluster on DC/OS has become even simpler, because the new version of our framework scheduler has been accepted to the DC/OS Universe. Therefore, deployment is literally only two clicks: Read more

More info...

Running ArangoDB 3.0.0 on DC/OS Cluster

As you surely recognized we´ve released ArangoDB 3.0 a few days ago. It comes with great cluster improvements like synchronous replication, automatic failover, easy up- and downscaling via the graphical user interface and with lots of other improvements. Furthermore, ArangoDB 3 is even better integrated with Apache Mesos and DC/OS. Read more

More info...

Get the latest tutorials,
blog posts and news: