#NoSQL Databases & #Docker #Containers: From Development to Deployment

Posted on April 26th, 2016

He started by saying that database performance demands including cache and dataLakes have made deployment complex and inefficient. Containers were developed to simplify deployment. They are similar to virtual machines, but describe the OS, programs and environmental dependencies in a standard format file. Components are

Docker file with names + directory + processes to run to setup. OCI is the open container standard.

Docker Compose orchestrates containers

Docker Swarm orchestrates clustering of machines

Docker Machine provisions machines.

Containers share root images (such as the Python image file).

Aerospike is a key value store which is built on the bare hardware (does not call the OS) for speed. It also automates data replication across nodes.

When Aerospike is run in Docker containers

All nodes perform the same function – automated replication.

The nodes self discover other nodes to balance the load & replication

Application needs to understand the topology as it changes

In development, the data are often kept in the container since one usually wants to delete the development data when the development server is decommissioned. However, production servers usually don’t hold the data since these servers may be brought up and down, but the data is always retained.