Overview
ArangoDB is a multi-model database supporting key-value pair, graph models, and document store.
So, our focus is to leverage the functionality of ArangoDB on the top of Kubernetes so we can scale ArangoDB according to our requirement.
Graph Database mainly focuses on representing many to many relationships between the documents which are inside the edge collection for the different document base collections.
Business Challenges
Building a multi-dimensional database which should be scaled according to requirement and should be containerized. So the goals of this project included:
-
Setting up a multi-model database with a document, key value and graph on Kubernetes.
-
Container environment is not persistent by default, so databases in Kubernetes need Persistent Storage to store data.
-
Using Kubernetes to scale up ArangoDB.
Solution Offered
To overcome the challenges mentioned above, we set up three nodes Kubernetes cluster on AWS in which one acts as a master and the other two, minions.
For deploying Databases on Kubernetes, we need to have Persistent Storage as Containers can die and start at any time but the data should remain persistent.
We selected GlusterFS as a storage solution as supports multi-mount as data remains on all nodes of GlusterFS.