#NoSQL Databases & #Docker #Containers: From Development to Deployment
Posted on April 26th, 2016
04/26/2016 @ThoughtWorks 99 Madison Ave., 15th Floor, New York, NY
Alvin Richards, VP of Product, @Aerospike spoke about employing Aerospike in Docker containers.
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.