How to model customer surveys in a graph database

12Foxx, General, GraphsTags: ,

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

Data Modeling with Multi-Model Databases

13Graphs, PublicationTags:

Max published an article on O’Reilly Radar about the use case he presented on Strata+Hadoop World in London earlier this year.

Read how multi-model databases can be used in an aircraft fleet maintenance system by mixing different data models within the same data store. 20150612_arangodb-treeofitems-01

A query language like AQL can help to answer maintenance questions like:

  • What are all the parts in a given component?
  • Given a (broken) part, what is the smallest component of the aircraft that contains the part and for which there is a maintenance procedure?
  • Which parts of this aircraft need maintenance next week?

Read on: O’Reilly Radar – Data modeling with multi-model databases

Graphs in data modeling 

10Future-of-nosql, GraphsTags:

Max wrote an inspiring article about graphs in data modeling on Medium, packed with his own thoughts – “to sort out some things in my brain” (Max).

He asks and answers the question: Are graphs and graph databases useful in data modeling, and if so, for what and under which circumstances?

In his article, he goes all the way down from the theoretical approach of what is a graph? towards storing a graph in different storage models (RDBMS, document store and graph databases) to querying a graph and finally to his personal conclusion. More info

Arangodb Java Driver and Graphs – Part 2

03Graphs, Java, Query LanguageTags: , , ,

After defining a graph and filling it with some vertices and edges (see part 1), the time has come to retrieve information out of the graph.

Please take a look at the defined graph operations of ArangoDB. These will be the base for our next examples. (Yes, there may be other ways to get the results, this post does not claim completeness!)

We will start with some easy stuff and then smoothly advance in complexity.

Question: “How many edges are defined within the graph?”

More info

Arangodb Java Driver and Graphs – Part 1

00Graphs, JavaTags: , , ,

With ArangoDB 2.2 the new graph API was released featuring multi collection graphs (see blog). With the new version (2.2.1) of arangodb-java-driver the new graph API is supported. In the following you can find a small example of creating a graph with Java.

For the import via maven and configuring the driver, please read the Basics and Driver Setup. For the following we assume, that arangodbDriver is a configured instance of the driver.

So let’s start the whole thing…

More info

Modeling Data in MongoDB vs ArangoDB

05Architecture, Documentation, Graphs, Query LanguageTags: ,

MongoDB is a document DB whereas ArangoDB is a multi-model DB supporting documents, graphs and key/values within a single database. When it comes to data modeling and data querying, they pursue somewhat different approaches.


In a Nutshell: In MongoDB, data modeling is “aggregate-oriented”, avoiding relations and joins. On the other side, everybody has probably used relational databases which organize the data in tables with relations and try to avoid as much redundancy as possible. Both approaches have their pros and cons. ArangoDB is somewhat in-between: You can both model and query your data in a “relational way” but also in an “aggregate-oriented way”, depending on your use case. ArangoDB offers joins, nesting of sub-documents and multi-collection graphs. More info

Do you like ArangoDB?
icon-githubStar this project on GitHub.
close-link