XenonStack Recommends

Application Modernization

Building Multi-Model Database on Kubernetes

Gursimran Singh | 08 Mar 2019

Overview of Multi-Model Database System

A Multi-Model Database System is a data processing program that helps multiple data models, which specify the parameters for how the data in a database is composed and organized. Being able to incorporate multiple models into a single database lets information technology (IT) teams and other users face various application terms without wanting to deploy different database systems. Let us discuss some benefits of multi-model databases:
  • It provides ACID capabilities and security
  • It reduces Operational Efficiency
  • It simplifies performance scaling
  • Strong Data Consistency
In this use case, we will guide you through how enterprises use multi-model databases to overcome complexity, save money, lessen the risk, and shorten time to value and how we build and deploy multi-model database management platform on kubernetes.

Introduction to ArangoDB

  • ArangoDB is a multi-model database supporting key-value pair, graph models, and document store.
  • Leverage functionality of ArangoDB on the top of Kubernetes to scale ArangoDB according to 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.

Challenge for Setting Up a Multi-Model Databases on Kubernetes

  • Build a multi-dimensional database to scale and containerize according to requirement.
  • Set up a multi-model database system with a document, key value, and graph on Kubernetes.
  • Container environment is not persistent by default, databases in Kubernetes need Persistent Storage to store data.
  • Use Kubernetes to scale up ArangoDB.

Solution Offered for Building Multi-Model Databases

To overcome the challenges mentioned above -
  • Set up three nodes Kubernetes cluster on AWS where one acts as a master and the other two, minions.
  • For deploying databases on Kubernetes, have Persistent Storage as Containers can die and start at any time, but the data should remain persistent.
  • Select GlusterFS as a storage solution to support multi-mount as data remains on all nodes of GlusterFS.

Architecture for Scaling ArangoDb using Kubernetes

  ArangoDb Kubernetes Operator manages deployments of ArangoDb database, provides persistent volumes on local storage, provides optimal storage performance.  

Key Features of ArangoDb

  • Arango Search
  • Geo Index implementation
  • Binary Storage Format
  • RocksDb as Default Storage Engine
  • Reduction in Replication Time
  • Load Balance Support
  • AQL Query Profiling

Steps to Scale ArangoDb using Kubernetes

  • Install Kube-ArangoDb to deploy ArangoDb DataBase and Persistent Volumes on local storage.
  • Connect to database.
  • Deploy ArangoDb Cluster Database.
  • Utilize ArangoDeployment Resource for ArangoDb database deployment.
  • Use ArangoLocalStorage Resource to provide local Persistent Volumes for optimal performance.
  • Employ ArangoDeploymentReplication Resource for ArangoDb data centre configuration to data centre replication.
  • Use ArangoDb Kubernetes Operator to create ArangoDb Deployment.
  • Removal of existing ArangoDb Deployment deleting all data in deployment.
  • Removal of Operator by eliminating clusters followed by operator.
captcha text
Refresh Icon

Thanks for submitting the form.

Related Articles