Skip to content
This repository has been archived by the owner on Jul 18, 2024. It is now read-only.
Shiva Kumar H R edited this page Oct 26, 2017 · 11 revisions

Umbrella SI Journey

Engineering Insights: Leverage IBM Watson and IBM Enterprise Cloud to deliver breakthrough insights with a cognitive approach across the Application Engineering Lifecycle

Short Name

Cloud host a graph database such as OrientDB using Kubernetes

Short Description

Quickly and easily deploy OrientDB as a container using Kubernetes

Offering Type

Cloud

Introduction

Graph databases, such as OrientDB, store data in a graph structure consisting of nodes, edges and properties. And by design, they allow simple and fast retrieval of complex hierarchical structures in a much more efficient manner than relational databases. This developer journey shows you how to quickly host OrientDB on IBM Bluemix Container service by using Kubernetes APIs. Such cloud hosted OrientDB can be leveraged for easier collaboration across your development and test teams.

Author

Code

https://github.com/IBM/deploy-graph-db-container

Demo

N/A

Video

https://www.youtube.com/watch?v=bG3xynJs0T8

Overview

Graph databases, such as OrientDB, store data in a graph structure consisting of nodes, edges and properties. Graph databases, by design, allow simple and fast retrieval of complex hierarchical structures in a much more efficient manner than relational databases. Gremlin is a standardised graph traversal language for retrieving data from graph databases (the way SQL is for RDBMS).

In this journey we show you how to quickly deploy OrientDB on Bluemix Container Service, so that you can leverage it for your team's development and test purposes.

IBM Bluemix Container Service combines Docker and Kubernetes to deliver powerful tools to automate the deployment, operation, scaling, and monitoring of containerized apps over a cluster of independent compute hosts by using the Kubernetes APIs.

This journey gives you step by step instructions for:

  • Deploying OrientDB container on Bluemix Kubernetes.
  • Storing the desired OrientDB password in Kubernetes secret.
  • Configuring the persistent storage for OrientDB volumes by making use of Kubernetes persistent volume claim.
  • Opening the deployed OrientDB's console as well as Gremlin console by making use of Kubernetes feature of getting a shell to a running container.

Flow

Architecture diagram

  1. Log in to Bluemix CLI and initialize Bluemix Container Service plugin.
  2. Set context for Kubernetes CLI by downloading Bluemix Kubernetes configuration files and setting KUBECONFIG environment variable.
  3. Save desired OrientDB password in Kubernetes secret.
  4. Configure persistent storage for OrientDB volumes.
  5. Deploy OrientDB container and NodePort service to Kubernetes cluster.
  6. Access OrientDB dashboard by using the public IP address of worker node and the NodePort mapped to OrientDB's HTTP port.

Included components

  • IBM Bluemix Container Service: IBM Bluemix Container Service manages highly available apps inside Docker containers and Kubernetes clusters on the IBM Cloud.
  • OrientDB: An Open Source Multi-Model NoSQL DBMS with support for Native Graphs.

Featured technologies

  • Container Orchestration: Automating the deployment, scaling and management of containerized applications.
  • Containers: Virtual software objects that include all the elements that an app needs to run.

Blog

Blog Title

Deploy OrientDB container on Bluemix Kubernetes

Blog Author(s)

Shiva Kumar H R

Blog Content

In the mobile and cloud era, we often end up using a NoSQL database for data storage. NoSQL databases such as Apache CouchDB / Cloudant and MongoDB store data as a collection of JSON/XML documentes, and are referred to as document oriented databases. Another breed of NoSQL databases are the graph databases, such as Neo4J, where data is stored in a graph structure consisting of vertices, edges and properties. Graph databases, by design, allow simple and fast retrieval of complex hierarchical structures in a much more efficient manner than other kinds of databases. Graph databases support a standardized graph traversal language, called Gremlin, for retrieving data from them (the way RDBMS databases support SQL).

OrientDB is a multi-model NoSQL database as it supports both native graph and document models. The OrientDB community edition is open source using the liberal Apache 2 license. It is fully written in Java and the full server distribution is few MBs without the demo database.

While one can quickly download and run OrientDB server on their local machine within a few minutes, for team based development/testing, it would be more workable to host it centrally.

The old way for such centralized hosting was to use either dedicated hardware or lease virtual machines from an infrastructure provider leading to higher operating costs. A new way has become possible with the coming together of following:

  1. Easy to use Docker containers
  2. Kubernetes - a standardized container orchestration platform
  3. Support from enterprise cloud providers

IBM Bluemix Container Service combines Docker and Kubernetes to deliver powerful tools to automate the deployment, operation, scaling, and monitoring of containerized apps over a cluster of independent compute hosts by using the Kubernetes APIs.

This journey gives you step by step instructions for:

  • Deploying OrientDB container on Bluemix Kubernetes.
  • Storing the desired OrientDB password in Kubernetes secret.
  • Configuring the persistent storage for OrientDB volumes by making use of Kubernetes persistent volume claim.
  • Opening the deployed OrientDB's console as well as Gremlin console by making use of Kubernetes feature of getting a shell to a running container.

Links