diff --git a/arbeit/.vscode/settings.json b/arbeit/.vscode/settings.json index 2e14757..572aaf9 100644 --- a/arbeit/.vscode/settings.json +++ b/arbeit/.vscode/settings.json @@ -42,5 +42,6 @@ }, ], "terminal.integrated.shell.linux": null, - "latex-workshop.view.pdf.viewer": "tab" + "latex-workshop.view.pdf.viewer": "tab", + "cSpell.language": "de-DE,de" } \ No newline at end of file diff --git a/arbeit/Thesis.pdf b/arbeit/Thesis.pdf index cfd4345..d19f668 100644 Binary files a/arbeit/Thesis.pdf and b/arbeit/Thesis.pdf differ diff --git a/arbeit/Thesis.tex b/arbeit/Thesis.tex index 6396e41..075e52a 100644 --- a/arbeit/Thesis.tex +++ b/arbeit/Thesis.tex @@ -87,7 +87,7 @@ \include{chapter/InfluxDB} -\include{chapter/Praxisteil} +%\include{chapter/Praxisteil} \include{chapter/Zusammenfassung} diff --git a/arbeit/chapter/Grundlagen.tex b/arbeit/chapter/Grundlagen.tex index 329edd0..a8fa8f0 100644 --- a/arbeit/chapter/Grundlagen.tex +++ b/arbeit/chapter/Grundlagen.tex @@ -67,6 +67,12 @@ auf Platz 29.\footnote{\cite[vgl.][]{dbranking}} \end{minipage} \end{figure} +Allerdings haben Datenbanken die nur auf das verarbeiten von Time Series Data ausgelegt sind deutliche Performance Vorteile +gegenüber Multi Model Datenbanken. In einem Vergleich von InfluxDB und MongoDB hat InfluxDB eine 2,4 mal bessere +Schreibperformance als MongoDB und ist beim lesen sogar 5,7 mal schneller. InfluxDB benötigt außerdem 20 mal weniger +Speicherplatz auf der Festplatte um die gleiche Menge an Daten zu speichern.\footnote{\cite[vgl.][]{InfluxDBvsMongo}} + + % Der Teil kommt in die Arbeit wenn ich zu wenig Seiten habe %Wie in \cref{fig:tsdb-ranking} zu sehen ist influxDB die mit Abstand belibteste \gls{TSDB}. Unter den gezeigten Datenbanken ist Prometheus eine %besonderheit denn dieses Datenbanksystem ist d @@ -81,3 +87,17 @@ auf Platz 29.\footnote{\cite[vgl.][]{dbranking}} %\end{minipage} %\end{figure} +\subsection{{Entwicklungsumgebung}} + +\subsubsection{{Docker}} + +%Docker und Docker Compose + +\subsubsection{{Python und Jupyter Notebooks}} + +% Python +% Jupyter Notebooks + +\subsubsection{{InfluxDB installation}} + + diff --git a/arbeit/chapter/InfluxDB.tex b/arbeit/chapter/InfluxDB.tex index 3ee0b04..9dfe57e 100644 Binary files a/arbeit/chapter/InfluxDB.tex and b/arbeit/chapter/InfluxDB.tex differ diff --git a/arbeit/chapter/Praxisteil.tex b/arbeit/chapter/Praxisteil.tex index bcb13a7..a254b6d 100644 --- a/arbeit/chapter/Praxisteil.tex +++ b/arbeit/chapter/Praxisteil.tex @@ -1,103 +1 @@ -\section{Wetterdaten verarbeiten} - -\subsection{{Entwicklungsumgebung}} - -\subsubsection{{Docker}} - -%Docker und Docker Compose - -\subsubsection{{Python und Jupyter Notebooks}} - -% Python -% Jupyter Notebooks - -\subsubsection{{InfluxDB installation}} - - - -\subsection{{Wetterdaten}} - -\subsubsection{{Wetterdaten Aufbau}} - -Die Wetterdaten des DWD können über den CDC OpenData Bereich heruntergeladen werden. Hier werden die Wetterdaten über FTP und HTTPS zum Download angeboten. -Unter der URL \url{https://www.dwd.de/DE/leistungen/cdc/cdc_ueberblick-klimadaten.html} wird eine gute übersicht über die zum Download angeboten Daten geboten. - -Die Werte für die aktuelle Lufttemperatur können über \url{https://opendata.dwd.de/climate_environment/CDC/observations_germany/climate/10_minutes/air_temperature/now/} -abgerufen werden. Historische Daten können über \url{https://opendata.dwd.de/climate_environment/CDC/observations_germany/climate/10_minutes/air_temperature/now/} -abgerufen werden. - -Aktuell werden auf der Webseite für die aktuelle Lufttemperatur ca 480 Datein zum Download angeboten. Die meisten dieser Datein entspricht einer Messstatione -und je nach Tageszeit kann deswegen die Menge der Daten varieiren, weil immer um 00:00 eine neue Datei angefangen wird. In den Zip Dateinen finden sich außerdem -Metadaten über die Messtationen. Die eigentlichen Daten sind als CSV formatiert und sehen aus wie in Listing~\ref{list:wetter_csv} dargestellt - -\begin{figure}[bht] -\begin{lstlisting}[caption=Wetterdaten CSV, label=list:wetter_csv] -STATIONS_ID;MESS_DATUM; QN;PP_10;TT_10;TM5_10;RF_10;TD_10;eor -73;202205120000; 2; -999; 12.9; 11.2; 84.2; 10.3;eor -73;202205120010; 2; -999; 12.7; 11.2; 84.9; 10.2;eor -73;202205120020; 2; -999; 12.9; 11.4; 83.0; 10.1;eor -73;202205120030; 2; -999; 12.4; 10.7; 86.9; 10.3;eor -73;202205120040; 2; -999; 12.4; 10.5; 86.2; 10.2;eor -73;202205120050; 2; -999; 12.3; 10.3; 85.5; 9.9;eor -73;202205120100; 2; -999; 12.1; 10.1; 88.1; 10.2;eor -73;202205120110; 2; -999; 11.7; 9.9; 90.1; 10.1;eor -73;202205120120; 2; -999; 11.7; 10.0; 89.0; 10.0;eor -73;202205120130; 2; -999; 11.9; 10.2; 86.3; 9.7;eor -73;202205120140; 2; -999; 12.3; 10.6; 83.5; 9.6;eor -73;202205120150; 2; -999; 12.4; 10.9; 83.3; 9.7;eor -73;202205120200; 2; -999; 11.7; 9.8; 86.2; 9.5;eor -73;202205120210; 2; -999; 11.6; 9.6; 88.5; 9.8;eor -73;202205120220; 2; -999; 11.4; 9.4; 88.6; 9.6;eor -73;202205120230; 2; -999; 11.8; 9.9; 88.7; 10.0;eor -73;202205120240; 2; -999; 11.4; 9.9; 88.7; 9.6;eor -73;202205120250; 2; -999; 11.5; 9.7; 89.5; 9.8;eor -73;202205120300; 2; -999; 11.6; 10.0; 88.4; 9.8;eor -73;202205120310; 2; -999; 11.4; 10.3; 87.5; 9.4;eor -73;202205120320; 2; -999; 11.6; 9.9; 89.0; 9.9;eor -73;202205120330; 2; -999; 12.1; 10.4; 87.3; 10.1;eor -73;202205120340; 2; -999; 12.1; 10.6; 87.2; 10.0;eor -73;202205120350; 2; -999; 11.9; 10.2; 87.2; 9.8;eor -... -\end{lstlisting} -\end{figure} - - -In der CSV Datei gibt es 9 Felder. - -%Quelle einfügen - -\begin{tabular}{l|p{13.0cm}} - -STATION\_ID & Gibt an von welcher Station die Werte stammen \\ \hline -MESS\_DATUM & Gibt an wann gemessen wurde im Format "\%Y\%m\%d\%H\%M" Also Jahr Monat Tag Stunde Minute als eine zusammengeschriebene Zahl. \\ \hline -QN & Gibt die Qualität der Messwerte an. Hier gibt es die Werte 1 bis 3 - \begin{compactenum} - \item nur formale Kontrolle bei Dekodierung und Import - \item Kontrolle mit individuell festgelegten Kriterien - \item ROUTINE automatische Kontrolle und Korrektur mit QUALIMET - \end{compactenum} \\ \hline - -PP\_10 & Luftdruck auf Stationshöhe \\ \hline -TT\_10 & Lufttemperatur auf 2 Meter höhe \\ \hline -TM5\_10 & Lufttemperatur auf 5cm höhe \\ \hline -TD\_10 & relative Luftfeuchtigkeit auf 2m höhe \\ \hline -eor & END OF RECORD kann ignriert werden. - - -\end{tabular} - - - -In dieser CSV Datei sind die Daten mit einem Semikoln voneinander getrennt. Der erste Wert in der CSV Datei ist die STATIONS\_ID auf die später noch weiter eingegangen wird. -Danach folgt das Feld Mess\_Datum Formatiert nach dem - - - - - -\subsubsection{{Wetterdaten abrufen}} - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, -sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \ No newline at end of file +\section{Wetterdaten verarbeiten} \ No newline at end of file diff --git a/arbeit/config/Abkuerzungen.tex b/arbeit/config/Abkuerzungen.tex index 7d47d2f..3a0ceca 100644 --- a/arbeit/config/Abkuerzungen.tex +++ b/arbeit/config/Abkuerzungen.tex @@ -6,4 +6,5 @@ \newacronym{CRUD}{CRUD}{Create, Read, Update, Delete} \newacronym{HTTP}{HTTP}{HyperText Transfer Protocol} \newacronym{API}{API}{Application Programming Interface} -\newacronym{CLI}{CLI}{Command Line Interface} \ No newline at end of file +\newacronym{CLI}{CLI}{Command Line Interface} +\newacronym{UI}{UI}{User Interface} \ No newline at end of file diff --git a/arbeit/library/library.bib b/arbeit/library/library.bib index 650e31f..e0795aa 100644 --- a/arbeit/library/library.bib +++ b/arbeit/library/library.bib @@ -86,6 +86,15 @@ year = {2021}, keywords = {web} } +@misc{InfluxDBvsMongo, +author = {Hajek Vlasta, Pour Ales, Kudibal Ivan}, +title = {{Why Time Series Matters for Metrics, Real-Time Analytics and Sensor Data}}, +url = {http://get.influxdata.com/rs/972-GDU-533/images/why%20time%20series.pdf}, +urldate = {2022-05-27}, +year = {2019}, +keywords = {web} +} + @misc{SamFangman2019, author = {Sam Fangman}, title = {{The Time Has Come for a New Type of Database}}, diff --git a/data/influxdb/data/influxd.bolt b/data/influxdb/data/influxd.bolt index 3d586e8..93b011a 100644 Binary files a/data/influxdb/data/influxd.bolt and b/data/influxdb/data/influxd.bolt differ