Skip to content

Commit

Permalink
DBMSBenchmarker: Dockerfiles v0.13.7 and dev
Browse files Browse the repository at this point in the history
  • Loading branch information
perdelt committed Jul 2, 2024
1 parent b007ba4 commit be8393f
Show file tree
Hide file tree
Showing 4 changed files with 312 additions and 0 deletions.
112 changes: 112 additions & 0 deletions images/benchmarker_dbmsbenchmarker/Dockerfile_dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
FROM python:3.11.7

# does not compile numpy correctly
# FROM python:3.13-rc-slim

WORKDIR /usr/src/app

ENV DBMSBENCHMARKER_SLEEP 30
ENV DBMSBENCHMARKER_RECREATE_PARAMETER 0
ENV DBMSBENCHMARKER_VERBOSE 0
ENV DBMSBENCHMARKER_DEV 0
ENV DBMSBENCHMARKER_NOW 0
ENV DBMSBENCHMARKER_START 0
ENV DBMSBENCHMARKER_SHUFFLE_QUERIES False

RUN apt update
RUN apt install default-jre -y

# only needed in slim releases
# RUN apt install git -y
# RUN apt install build-essential -y

RUN pip uninstall dbmsbenchmarker -y
RUN JAVA_HOME=/usr/lib/jvm/java-1.8.0/ pip install --no-cache-dir --upgrade --force-reinstall git+https://github.com/Beuth-Erdelt/DBMS-Benchmarker@dev

# we only need packages required by dbmsbenchmarker
#COPY requirements.txt ./
#RUN pip install --no-cache-dir -r requirements.txt

RUN git clone https://github.com/Beuth-Erdelt/DBMS-Benchmarker --branch dev

WORKDIR /usr/src/app/DBMS-Benchmarker

# RUN git pull

#COPY . .

RUN apt install nano -y

RUN mkdir -p /results
RUN mkdir -p /results/$DBMSBENCHMARKER_CODE


RUN mkdir -p jars/

######### Specific version of PostgreSQL JDBC #########
RUN wget https://jdbc.postgresql.org/download/postgresql-42.5.0.jar --no-check-certificate
RUN cp postgresql-42.5.0.jar jars/postgresql-42.5.0.jar

######### Specific version of MySQL JDBC #########
RUN wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-8.0.31.tar.gz
RUN tar -zxvf mysql-connector-j-8.0.31.tar.gz
RUN cp mysql-connector-j-8.0.31/mysql-connector-j-8.0.31.jar jars/mysql-connector-j-8.0.31.jar

######### Specific version of MariaDB JDBC #########
RUN wget https://dlm.mariadb.com/2678616/Connectors/java/connector-java-3.1.0/mariadb-java-client-3.1.0.jar
RUN cp mariadb-java-client-3.1.0.jar jars/mariadb-java-client-3.1.0.jar

######### Specific version of MonetDB JDBC #########
RUN wget https://www.monetdb.org/downloads/Java/archive/monetdb-jdbc-3.2.jre8.jar --no-check-certificate
RUN cp monetdb-jdbc-3.2.jre8.jar jars/monetdb-jdbc-3.2.jre8.jar

######### Specific version of MonetDB JDBC #########
RUN wget https://www.monetdb.org/downloads/Java/monetdb-jdbc-3.3.jre8.jar --no-check-certificate
RUN cp monetdb-jdbc-3.3.jre8.jar jars/monetdb-jdbc-3.3.jre8.jar

######### Specific version of SingleStore JDBC #########
RUN wget https://github.com/memsql/S2-JDBC-Connector/releases/download/v1.1.4/singlestore-jdbc-client-1.1.4.jar
RUN cp singlestore-jdbc-client-1.1.4.jar jars/singlestore-jdbc-client-1.1.4.jar

######### Specific version of Kinetica JDBC #########
RUN wget https://github.com/kineticadb/kinetica-client-jdbc/archive/refs/tags/v7.1.8.7.tar.gz
RUN tar -zxvf v7.1.8.7.tar.gz
RUN cp kinetica-client-jdbc-7.1.8.7/kinetica-jdbc-7.1.8.7-jar-with-dependencies.jar jars/kinetica-jdbc-7.1.8.7-jar-with-dependencies.jar

######### Specific version of YugabyteDB JDBC #########
RUN wget https://github.com/yugabyte/pgjdbc/releases/download/v42.3.5-yb-2/jdbc-yugabytedb-42.3.5-yb-2.jar
RUN cp jdbc-yugabytedb-42.3.5-yb-2.jar jars/jdbc-yugabytedb-42.3.5-yb-2.jar



######### Redis Client - Download and compile #########
RUN cd /tmp; wget http://download.redis.io/redis-stable.tar.gz; tar xvzf redis-stable.tar.gz; cd redis-stable; make; cp src/redis-cli /usr/local/bin/; chmod 755 /usr/local/bin/redis-cli


COPY ./benchmarker.sh ./benchmarker.sh
RUN ["chmod", "+x", "./benchmarker.sh"]

CMD ["/bin/bash", "-c", "./benchmarker.sh"]

#CMD git pull; python ./benchmark.py run -b -d -w connection \
# -f /results/$DBMSBENCHMARKER_CODE \
# -r /results/$DBMSBENCHMARKER_CODE \
# -mps \
# -cs -sf $DBMSBENCHMARKER_CONNECTION \
# -ms $DBMSBENCHMARKER_CLIENT \
# -sl $DBMSBENCHMARKER_SLEEP \
# -st "$DBMSBENCHMARKER_START" \
# -c "$DBMSBENCHMARKER_CONNECTION" \
# -ca "$DBMSBENCHMARKER_ALIAS" \
# -cf ${DBMSBENCHMARKER_CONNECTION}.config \

# -f config folder
# -r result folder
# -mps monitor per stream (not per query)
# -cs -sf subfolder per dbms (connection)
# -ms max number of subfolders
# -sl sleep seconds before start benchmarking
# -st start time for operating
# -c name of dbms (connection) to benchmark
# -ca alias for dbms (connection) to benchmark
# -cf config of dbms (connection)
112 changes: 112 additions & 0 deletions images/benchmarker_dbmsbenchmarker/Dockerfile_v0.13.7
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
FROM python:3.11.7

# does not compile numpy correctly
# FROM python:3.13-rc-slim

WORKDIR /usr/src/app

ENV DBMSBENCHMARKER_SLEEP 30
ENV DBMSBENCHMARKER_RECREATE_PARAMETER 0
ENV DBMSBENCHMARKER_VERBOSE 0
ENV DBMSBENCHMARKER_DEV 0
ENV DBMSBENCHMARKER_NOW 0
ENV DBMSBENCHMARKER_START 0
ENV DBMSBENCHMARKER_SHUFFLE_QUERIES False

RUN apt update
RUN apt install default-jre -y

# only needed in slim releases
# RUN apt install git -y
# RUN apt install build-essential -y

RUN pip uninstall dbmsbenchmarker -y
RUN JAVA_HOME=/usr/lib/jvm/java-1.8.0/ pip install --no-cache-dir --upgrade --force-reinstall git+https://github.com/Beuth-Erdelt/[email protected]

# we only need packages required by dbmsbenchmarker
#COPY requirements.txt ./
#RUN pip install --no-cache-dir -r requirements.txt

RUN git clone https://github.com/Beuth-Erdelt/DBMS-Benchmarker --branch v0.13.7

WORKDIR /usr/src/app/DBMS-Benchmarker

# RUN git pull

#COPY . .

RUN apt install nano -y

RUN mkdir -p /results
RUN mkdir -p /results/$DBMSBENCHMARKER_CODE


RUN mkdir -p jars/

######### Specific version of PostgreSQL JDBC #########
RUN wget https://jdbc.postgresql.org/download/postgresql-42.5.0.jar --no-check-certificate
RUN cp postgresql-42.5.0.jar jars/postgresql-42.5.0.jar

######### Specific version of MySQL JDBC #########
RUN wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-8.0.31.tar.gz
RUN tar -zxvf mysql-connector-j-8.0.31.tar.gz
RUN cp mysql-connector-j-8.0.31/mysql-connector-j-8.0.31.jar jars/mysql-connector-j-8.0.31.jar

######### Specific version of MariaDB JDBC #########
RUN wget https://dlm.mariadb.com/2678616/Connectors/java/connector-java-3.1.0/mariadb-java-client-3.1.0.jar
RUN cp mariadb-java-client-3.1.0.jar jars/mariadb-java-client-3.1.0.jar

######### Specific version of MonetDB JDBC #########
RUN wget https://www.monetdb.org/downloads/Java/archive/monetdb-jdbc-3.2.jre8.jar --no-check-certificate
RUN cp monetdb-jdbc-3.2.jre8.jar jars/monetdb-jdbc-3.2.jre8.jar

######### Specific version of MonetDB JDBC #########
RUN wget https://www.monetdb.org/downloads/Java/monetdb-jdbc-3.3.jre8.jar --no-check-certificate
RUN cp monetdb-jdbc-3.3.jre8.jar jars/monetdb-jdbc-3.3.jre8.jar

######### Specific version of SingleStore JDBC #########
RUN wget https://github.com/memsql/S2-JDBC-Connector/releases/download/v1.1.4/singlestore-jdbc-client-1.1.4.jar
RUN cp singlestore-jdbc-client-1.1.4.jar jars/singlestore-jdbc-client-1.1.4.jar

######### Specific version of Kinetica JDBC #########
RUN wget https://github.com/kineticadb/kinetica-client-jdbc/archive/refs/tags/v7.1.8.7.tar.gz
RUN tar -zxvf v7.1.8.7.tar.gz
RUN cp kinetica-client-jdbc-7.1.8.7/kinetica-jdbc-7.1.8.7-jar-with-dependencies.jar jars/kinetica-jdbc-7.1.8.7-jar-with-dependencies.jar

######### Specific version of YugabyteDB JDBC #########
RUN wget https://github.com/yugabyte/pgjdbc/releases/download/v42.3.5-yb-2/jdbc-yugabytedb-42.3.5-yb-2.jar
RUN cp jdbc-yugabytedb-42.3.5-yb-2.jar jars/jdbc-yugabytedb-42.3.5-yb-2.jar



######### Redis Client - Download and compile #########
RUN cd /tmp; wget http://download.redis.io/redis-stable.tar.gz; tar xvzf redis-stable.tar.gz; cd redis-stable; make; cp src/redis-cli /usr/local/bin/; chmod 755 /usr/local/bin/redis-cli


COPY ./benchmarker.sh ./benchmarker.sh
RUN ["chmod", "+x", "./benchmarker.sh"]

CMD ["/bin/bash", "-c", "./benchmarker.sh"]

#CMD git pull; python ./benchmark.py run -b -d -w connection \
# -f /results/$DBMSBENCHMARKER_CODE \
# -r /results/$DBMSBENCHMARKER_CODE \
# -mps \
# -cs -sf $DBMSBENCHMARKER_CONNECTION \
# -ms $DBMSBENCHMARKER_CLIENT \
# -sl $DBMSBENCHMARKER_SLEEP \
# -st "$DBMSBENCHMARKER_START" \
# -c "$DBMSBENCHMARKER_CONNECTION" \
# -ca "$DBMSBENCHMARKER_ALIAS" \
# -cf ${DBMSBENCHMARKER_CONNECTION}.config \

# -f config folder
# -r result folder
# -mps monitor per stream (not per query)
# -cs -sf subfolder per dbms (connection)
# -ms max number of subfolders
# -sl sleep seconds before start benchmarking
# -st start time for operating
# -c name of dbms (connection) to benchmark
# -ca alias for dbms (connection) to benchmark
# -cf config of dbms (connection)
44 changes: 44 additions & 0 deletions images/evaluator_dbmsbenchmarker/Dockerfile_dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
FROM python:3.11.7

# does not compile numpy correctly
# FROM python:3.13-rc-slim

WORKDIR /usr/src/app

RUN apt update
RUN apt install default-jre -y
RUN apt install zip -y
RUN apt install nano -y

# only needed in slim releases
# RUN apt install git -y
# RUN apt install build-essential -y

RUN mkdir /results

SHELL ["/bin/bash", "-c"]

ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m pip install --user virtualenv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"

RUN JAVA_HOME=/usr/lib/jvm/java-1.8.0/ pip install --no-cache-dir --upgrade --force-reinstall git+https://github.com/Beuth-Erdelt/DBMS-Benchmarker@dev

RUN pip install jupyter
RUN pip install jupyter_contrib_nbextensions
#RUN jupyter contrib nbextension install --user
#RUN jupyter nbextensions_configurator enable --user
#RUN jupyter nbextension enable toc2/main

RUN git clone https://github.com/Beuth-Erdelt/DBMS-Benchmarker --branch dev

WORKDIR /usr/src/app/DBMS-Benchmarker

RUN mkdir /usr/src/app/DBMS-Benchmarker/notebooks

COPY ./notebooks /usr/src/app/DBMS-Benchmarker/notebooks

# RUN git pull

CMD git pull; python ./dashboard.py -r /results
44 changes: 44 additions & 0 deletions images/evaluator_dbmsbenchmarker/Dockerfile_v0.13.7
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
FROM python:3.11.7

# does not compile numpy correctly
# FROM python:3.13-rc-slim

WORKDIR /usr/src/app

RUN apt update
RUN apt install default-jre -y
RUN apt install zip -y
RUN apt install nano -y

# only needed in slim releases
# RUN apt install git -y
# RUN apt install build-essential -y

RUN mkdir /results

SHELL ["/bin/bash", "-c"]

ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m pip install --user virtualenv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"

RUN JAVA_HOME=/usr/lib/jvm/java-1.8.0/ pip install --no-cache-dir --upgrade --force-reinstall git+https://github.com/Beuth-Erdelt/[email protected]

RUN pip install jupyter
RUN pip install jupyter_contrib_nbextensions
#RUN jupyter contrib nbextension install --user
#RUN jupyter nbextensions_configurator enable --user
#RUN jupyter nbextension enable toc2/main

RUN git clone https://github.com/Beuth-Erdelt/DBMS-Benchmarker --branch v0.13.7

WORKDIR /usr/src/app/DBMS-Benchmarker

RUN mkdir /usr/src/app/DBMS-Benchmarker/notebooks

COPY ./notebooks /usr/src/app/DBMS-Benchmarker/notebooks

# RUN git pull

CMD git pull; python ./dashboard.py -r /results

0 comments on commit be8393f

Please sign in to comment.