An interview with Luca Olivari of ArangoDB
Earlier this year we welcomed ArangoDB to the Cambridge Intelligence technology alliance. Interest in graph-optimized databases has exploded, as developers look for a better way to work with complex and messy real-world data. Many of our customers rely on graph databases to provide the speedy graph querying needed to power their KeyLines deployments.
Another option is growing in popularity: multi-model databases.
We spoke to Luca Olivari, President of ArangoDB, to find out more about their technology and the multi-model approach in general.
Hi Luca, thanks for joining us! Can we start with an introduction – what is ArangoDB?
Hi Andrew. ArangoDB is a native multi-model database that combines three major NoSQL data models in a single core: key-value and column stores, document stores and graph databases, with one declarative ArangoDB query language (AQL).
In an enterprise, different applications use different data models. Inside those applications, you’ll find different kinds of data access characteristics. So selecting just one kind of database, optimized for a single model, for all of those tasks, would be painfully limiting and expensive, if you think about the weeks and months developers spend on adapting their data to a relational schema.
One option is to deploy several databases, meaning your DBAs need to learn and maintain multiple technologies, and spend their days trying to get a consistent state of data across them – a kind of mission impossible.
ArangoDB provides a simpler solution. We support three major models in one core, with one query language, including transactional semantics. The database combines a full, scalable document store with transactions and JOIN operations, with fully-fledged graph queries.
Simplifying the complexity of the tech stack in this way gives developers more time to work on their applications, improving their productivity.
What’s the background of the technology?
The main team behind ArangoDB has grown steadily. The first release was back in 2011, but our team’s NoSQL expertise goes back for over a decade. Among us we have multiple PhDs, from St Andrew’s, RWTH and Princeton, and our founders worked with the likes of DHL, NYSE and Deutsche Bank before starting the ArangoDB project.
How is ArangoDB used in production?
The main reason for using ArangoDB is to increase application development agility and reduce costs.
Multiple data models with one technology reduces the complexity of the tech stack.
Accessing your data with a single, feature-rich query language saves on development effort. We also have our Foxx framework for data-centric microservices. As you found with the KeyLines integration, creating apps on top of ArangoDB is simple and fast.
The result is that ArangoDB is being used in a wide range of production scenarios. Some of the more graph-centric use cases include identity and access management, recommendation engines, network analytics, IoT, logistics, etc.
So can ArangoDB be used as a graph store?
Yes, we believe ArangoDB offers the most complete graph experience in the market, especially since version 3.2.
We think it can at least match the performance of the likes of Neo4j or Titan, and comes with graph functionality to rival pure play graph databases. It has fully-fledged graph query capabilities, like traversals, shortest path and pattern matching for real-time graph operations and distributed graph processing via Pregel for a variety of global graph analytics. That means developers can leverage support for distributed graph processing and work with massive amounts of interconnected data.
It also comes with a developer friendly Apache 2 license, and a committed and helpful community of developers.
The flexibility of our approach means developers can start with a single ArangoDB instance and scale vertically and horizontally even with graph data. The experience, which we call Graph360 internally, is rounded off with the KeyLines integration, which powers interactive visualization tools.
What role does KeyLines visualization play in your customer’s applications?
Data visualization, especially graph visualization, are becoming more important.
We offer an integrated graph viewer, but this is really designed for developers to build their data schemas.
The value we’re seeing with KeyLines is putting the visualization into the hands of management and analyst-level staff. It gives them the perfect tool to explore and play around with graphs quickly and intuitively. It lets them find and communicate insights in a way that makes sense to them. KeyLines is a perfect extension for us.
With KeyLines we can offer our customers a modern, beautiful and powerful tool to make sense of huge graphs. It’s a remarkably intuitive tool. Being able to touch the data is really exciting.