Concepts
An experiment is a benchmark of a DBMS in a certain host setting and a specific benchmark setting.
A host setting consists of
a DBMS (as a docker image)
a volume (containing some data)
init scripts (for pre-loading and post-loading)
A benchmark setting consists of
a number of client processes
a number of runs per connection
a maximum timeout
a lot more, depending on the benchmark tool, e.g. DBMSBenchmarker
Workflow
The management roughly means
start a DBMS and load raw data
run some benchmarks, fetch metrics and do reporting
shut down environment and clean up
In more detail this means
Prepare Experiment
Use Virtual Machines provided as K8s nodes - create deployment
Attach Network - create service
Attach Data Storage Volume - attach PVC
Start Monitoring - start node exporters and Prometheus as docker containers
Start Experiment
Start DBMS Docker Container, upload and run pre-loading init scripts (e.g., create schema), load data, upload and run post-loading init scripts (e.g., create indexes)
Run Benchmarks
Report
Pull Logs from containers
Pull Metrics from Prometheus monitoring server
Stop Experiment
Clean Experiment
Delete deployment and services