Commit 9f093b6f authored by Marcel Huber's avatar Marcel Huber
Browse files

added more docker-compose examples

parent b5bb71fa
......@@ -1217,6 +1217,7 @@ Sie können für diese Übung entweder eine lokale Installation durchführen ode
Pakete für die Installation finden Sie auf der entsprechenden Download Seite.
Wählen Sie im Windows Installer den _Custom_ Installationsmodus damit nur die notwendigsten Programme und Features installiert werden
[id='monetdb-windows-server-start']
Windows:: https://www.monetdb.org/downloads/Windows/Latest/
+
Damit Sie den MonetDB SQL Server verwenden können brauchen Sie ihren Computer nicht zwingend neu zu starten.
......@@ -1253,20 +1254,51 @@ Debian/Ubuntu:: https://www.monetdb.org/downloads/deb/
[id='monetdb-docker']
=== MonetDB als Docker Container
Am besten verwenden Sie das `monetdb/monetdb-r-docker:latest` Docker Image um die Übungen durchzuführen.
Für die nachfolgenden Übungen brauchen Sie die folgenden Containers, welche mit entsprechender Konfiguration in der Datei link:{ci_project_fileref}Helpers/docker-compose.yml[`docker-compose.yml`] für `docker-compose` vorliegen.
Für die nachfolgenden Übungen brauchen Sie die folgenden Services, welche mit entsprechender Konfiguration in der Datei link:{ci_project_fileref}Helpers/docker-compose.yml[`docker-compose.yml`] für `docker-compose` vorliegen.
Wir verwenden dazu das `monetdb/monetdb-r-docker:latest` Docker Image.
link:{ci_project_fileref}Helpers/docker-compose.yml#L439[`monetdb`]:: Server Instanz mit kleinem Footprint.
Startet den Server im Hintergrund und macht ihn verfügbar unter `localhost:50000`.
+
.Serverinstanz mittels `docker-compose` starten
[source%autofit,bash,id='monetdb-compose-server-start']
----
docker-compose --file Helpers/docker-compose.yml \
--project-name columnstore \
--project-directory . \
up -d monetdb
----
link:{ci_project_fileref}Helpers/docker-compose.yml#L450[`mclient`]:: Terminal um Abfragen zum Server abzusetzen.
Verwenden Sie `\?` um sich über die zur Verfügung stehenden Befehle zu informieren.
Das lokale Startverzeichnis wird als Ordner `/src` im Container bereitgestellt.
+
.Interaktive Benutzung des `mclient` Utility
[source%autofit,bash,id='monetdb-compose-mclient']
----
docker-compose --file Helpers/docker-compose.yml \
--project-name columnstore \
--project-directory . \
run mclient -h monetdb -d db
----
link:{ci_project_fileref}Helpers/docker-compose.yml#L475[`mclient-batch`]:: Terminal um Abfragen zum Server abzusetzen ohne interaktiven Input.
Verwenden Sie diesen Container für Batch Anfragen zum Server bei denen Sie keine Eingaben tätigen müssen.
Das lokale Startverzeichnis wird als Ordner `/src` im Container bereit gestellt.
+
.Datenbankimport mit Hilfe des `mclient` Utility
[source%autofit,bash,id='monetdb-compose-mclient-batch']
----
docker-compose --file Helpers/docker-compose.yml \
--project-name columnstore \
--project-directory . \
run \
--workdir=/src/Databases/dvdstore_500mb \ # <1>
mclient-batch mclient -h monetdb -d ds2 \
2_schema.monetdb.sql 3_inserts.monetdb.sql 4_keys.monetdb.sql
----
<1> Setzt das Arbeitsverzeichnis im Service auf den angegebenen Pfad.
Damit spart man sich die Verzeichnisangabe bei den zu importierenden Dateien
<<<
:ex_db_name: dvdstore_500mb
......@@ -1283,24 +1315,26 @@ Das voreingestellte Schema für diesen Benutzer ist `sys`.
. Datenbank für die Übung erstellen
+
Um Datenbankinstanzen zu verwalten stellt MonetDB das Tool `monetdb` zur Verfügung.
Damit lassen sich die Zustände der Instanzen anzeigen oder aber auch verändern.
Auf gewissen Plattformen können mehrere Datenbanken parallel betrieben werden.
+
[example,caption="",title="Hinweis zu Windows"]
=====
In der Windows Installation gibt es kein `monetdb` Utility wodurch keine separate Datenbank erstellt werden kann.
Es existiert daher nur die voreingestellte Datenbank, welche wir für die Übung mit den DVD-Store Daten befüllen.
Es existiert daher nur die voreingestellte `demo` Datenbank, welche wir für die Übung mit den DVD-Store Daten befüllen.
Überspringen Sie daher die Schritte <<monetdb-create-db>> und <<monetdb-db-status>>.
=====
+
.Starten des Datenbankserver
Gehen Sie dazu vor wie bereits einleitend in <<monetdb-local>> in den entsprechenden Sektionen zu Windows, Mac oder Docker beschrieben wurde.
+
[example,caption="",title="Hinweis zu Docker",id="docker-monetdb-exec-hint"]
=====
Das `monetdb` Utility muss im Datenbankcontainer ausgeführt werden.
Das `monetdb` Utility muss direkt im Datenbankcontainer ausgeführt werden.
Dazu wechseln Sie mit folgendem Befehl in diesen Container:
docker exec -ti monetdb bash
oder wenn Sie docker-compose verwenden:
docker-compose --file Helpers/docker-compose.yml --project-name dataeng --project-directory . exec monetdb bash
docker-compose --file Helpers/docker-compose.yml --project-name columnstore --project-directory . exec monetdb bash
=====
+
.monetdb status abfragen
......
......@@ -1217,6 +1217,7 @@ Sie können für diese Übung entweder eine lokale Installation durchführen ode
Pakete für die Installation finden Sie auf der entsprechenden Download Seite.
Wählen Sie im Windows Installer den _Custom_ Installationsmodus damit nur die notwendigsten Programme und Features installiert werden
[id='monetdb-windows-server-start']
Windows:: https://www.monetdb.org/downloads/Windows/Latest/
+
Damit Sie den MonetDB SQL Server verwenden können brauchen Sie ihren Computer nicht zwingend neu zu starten.
......@@ -1253,20 +1254,51 @@ Debian/Ubuntu:: https://www.monetdb.org/downloads/deb/
[id='monetdb-docker']
=== MonetDB als Docker Container
Am besten verwenden Sie das `monetdb/monetdb-r-docker:latest` Docker Image um die Übungen durchzuführen.
Für die nachfolgenden Übungen brauchen Sie die folgenden Containers, welche mit entsprechender Konfiguration in der Datei link:{ci_project_fileref}Helpers/docker-compose.yml[`docker-compose.yml`] für `docker-compose` vorliegen.
Für die nachfolgenden Übungen brauchen Sie die folgenden Services, welche mit entsprechender Konfiguration in der Datei link:{ci_project_fileref}Helpers/docker-compose.yml[`docker-compose.yml`] für `docker-compose` vorliegen.
Wir verwenden dazu das `monetdb/monetdb-r-docker:latest` Docker Image.
link:{ci_project_fileref}Helpers/docker-compose.yml#L439[`monetdb`]:: Server Instanz mit kleinem Footprint.
Startet den Server im Hintergrund und macht ihn verfügbar unter `localhost:50000`.
+
.Serverinstanz mittels `docker-compose` starten
[source%autofit,bash,id='monetdb-compose-server-start']
----
docker-compose --file Helpers/docker-compose.yml \
--project-name columnstore \
--project-directory . \
up -d monetdb
----
link:{ci_project_fileref}Helpers/docker-compose.yml#L450[`mclient`]:: Terminal um Abfragen zum Server abzusetzen.
Verwenden Sie `\?` um sich über die zur Verfügung stehenden Befehle zu informieren.
Das lokale Startverzeichnis wird als Ordner `/src` im Container bereitgestellt.
+
.Interaktive Benutzung des `mclient` Utility
[source%autofit,bash,id='monetdb-compose-mclient']
----
docker-compose --file Helpers/docker-compose.yml \
--project-name columnstore \
--project-directory . \
run mclient -h monetdb -d db
----
link:{ci_project_fileref}Helpers/docker-compose.yml#L475[`mclient-batch`]:: Terminal um Abfragen zum Server abzusetzen ohne interaktiven Input.
Verwenden Sie diesen Container für Batch Anfragen zum Server bei denen Sie keine Eingaben tätigen müssen.
Das lokale Startverzeichnis wird als Ordner `/src` im Container bereit gestellt.
+
.Datenbankimport mit Hilfe des `mclient` Utility
[source%autofit,bash,id='monetdb-compose-mclient-batch']
----
docker-compose --file Helpers/docker-compose.yml \
--project-name columnstore \
--project-directory . \
run \
--workdir=/src/Databases/dvdstore_500mb \ # <1>
mclient-batch mclient -h monetdb -d ds2 \
2_schema.monetdb.sql 3_inserts.monetdb.sql 4_keys.monetdb.sql
----
<1> Setzt das Arbeitsverzeichnis im Service auf den angegebenen Pfad.
Damit spart man sich die Verzeichnisangabe bei den zu importierenden Dateien
<<<
:ex_db_name: dvdstore_500mb
......@@ -1283,24 +1315,26 @@ Das voreingestellte Schema für diesen Benutzer ist `sys`.
. Datenbank für die Übung erstellen
+
Um Datenbankinstanzen zu verwalten stellt MonetDB das Tool `monetdb` zur Verfügung.
Damit lassen sich die Zustände der Instanzen anzeigen oder aber auch verändern.
Auf gewissen Plattformen können mehrere Datenbanken parallel betrieben werden.
+
[example,caption="",title="Hinweis zu Windows"]
=====
In der Windows Installation gibt es kein `monetdb` Utility wodurch keine separate Datenbank erstellt werden kann.
Es existiert daher nur die voreingestellte Datenbank, welche wir für die Übung mit den DVD-Store Daten befüllen.
Es existiert daher nur die voreingestellte `demo` Datenbank, welche wir für die Übung mit den DVD-Store Daten befüllen.
Überspringen Sie daher die Schritte <<monetdb-create-db>> und <<monetdb-db-status>>.
=====
+
.Starten des Datenbankserver
Gehen Sie dazu vor wie bereits einleitend in <<monetdb-local>> in den entsprechenden Sektionen zu Windows, Mac oder Docker beschrieben wurde.
+
[example,caption="",title="Hinweis zu Docker",id="docker-monetdb-exec-hint"]
=====
Das `monetdb` Utility muss im Datenbankcontainer ausgeführt werden.
Das `monetdb` Utility muss direkt im Datenbankcontainer ausgeführt werden.
Dazu wechseln Sie mit folgendem Befehl in diesen Container:
docker exec -ti monetdb bash
oder wenn Sie docker-compose verwenden:
docker-compose --file Helpers/docker-compose.yml --project-name dataeng --project-directory . exec monetdb bash
docker-compose --file Helpers/docker-compose.yml --project-name columnstore --project-directory . exec monetdb bash
=====
+
.monetdb status abfragen
......
......@@ -16,12 +16,12 @@ ALTER TABLE ds2.products
ADD CONSTRAINT products_pkey PRIMARY KEY (prod_id);
ALTER TABLE ds2.cust_hist
ADD CONSTRAINT fk_cust_hist_customerid FOREIGN KEY (customerid) REFERENCES customers(customerid) ON DELETE CASCADE;
ADD CONSTRAINT fk_cust_hist_customerid FOREIGN KEY (customerid) REFERENCES customers (customerid) ON DELETE CASCADE;
ALTER TABLE ds2.orders
ADD CONSTRAINT fk_customerid FOREIGN KEY (customerid) REFERENCES customers(customerid) ON DELETE SET NULL;
ADD CONSTRAINT fk_customerid FOREIGN KEY (customerid) REFERENCES customers (customerid) ON DELETE SET NULL;
ALTER TABLE ds2.orderlines
ADD CONSTRAINT fk_orderid FOREIGN KEY (orderid) REFERENCES orders(orderid) ON DELETE CASCADE;
ADD CONSTRAINT fk_orderid FOREIGN KEY (orderid) REFERENCES orders (orderid) ON DELETE CASCADE;
COMMIT;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment