- improved Grundlagen

- removed MySQL
- added Library
This commit is contained in:
Henrik Mertens 2022-05-21 11:09:19 +02:00
parent 7d388446e7
commit fab128fa0e
217 changed files with 50228 additions and 2033 deletions

BIN
Aufgabenstellung.pdf Normal file

Binary file not shown.

50
arbeit/Notizen.txt Normal file
View file

@ -0,0 +1,50 @@
\subsection{Notizen}
sind dabei immer dann sinnvoll wenn Time Series Data gespeichert werden soll.\footnote{\cite[vgl.][]{DataScienceTeam2020}}
Diese Daten zeichnen sich besonders dadurch aus
das die Zeit eine wichtiger Faktor für diese Daten ist.
- Eine Reihe von Daten
- Timestamp als wichtiger Wert
- Meistens werden nur neue Daten hinzugefügt.
- Im vergleich zu einer MySQL Datenbank gibt es nur Inserts und keine Updates
- Es wird die Veränderung über die Zeit Aufgezeichnet.- Time SEries Data kann in einer SQL Datenbank gespeichert werden. Diese Datenbanken skalieren aber nur schlecht.
Die Meisten TSDB haben zusätzliche fUNKTIONEN Um mit den Daten zu arbeiten.
- alte Daten löschen
- durchgehende Abfragen
Daten:
- Server Monitoring
- Sensordaten
- Wissenschaftliche Daten
- Industrielle Daten / Events
- Log Data
- MySQL -> Beim Login wird LastLogin geupdatete
- TSDB -> Beim Login wird ein neuer Datenpunkt erstellt.
-> Mehr Informationen werden beibehalten. Wie oft eingeloggt. Wann eingeloggt u.s.w.
- Autos Sammeln 4,000 GB pro Tag
Use Cases
- Software Monitoring
- Hardware Überwachung
- IOT
- Wetterdaten
- Raumtemperatur
- Positionsaufzeichnung von Autos,Containern,Paletten
- Eventaufzeichnungen wie Benutzerinteraktion
- Business intelligence Überwachen von Kennzahlen
- alles weitere wo Zeitrelevante Daten anfallen.
Eine große Menge von Daten ist sehr stark an die Zeit gebunden in der sie erzeugt werden. So sind z.B. Sensordaten
sehr eng mit der Aufzeichungszeit verbunden. Weil sich die Werte sofort wieder verändern können.

Binary file not shown.

View file

@ -85,7 +85,9 @@
\include{chapter/Grundlagen}
\include{chapter/Installation}
\include{chapter/InfluxDB}
\include{chapter/Praxisteil}
\include{chapter/Zusammenfassung}

View file

@ -0,0 +1,253 @@
%!TEX root = ../Thesis.tex
\section{Grundlagen}
\subsection{Verbreitete \gls{DBMS}}
Aktuell gibt es wie in \cref{fig:db-ranking} zu sehen einige beliebte Mulit-Model Datenbanken die als \gls{TSDB} gentuzt werden können.
So können die Datenbanken MongoDB, Redis, Teradata und Couchbase mit Time Series Daten arbeiten. Die erste reine \gls{TSDB} im Ranking ist InfluxDB
auf Platz 29.\footnote{\cite[vgl.][]{dbranking}} %ist das eine Quelle die ich nutzen darf?
\begin{figure}[hbt]
\centering
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
\caption{DB-Engines Ranking} % Überschrift
\includegraphics[width=1\textwidth]{img/DB-Engines-Ranking}\\ % Pfad
\source{https://db-engines.com/de/ranking?msclkid=4f2a29e5d08811ec95ccd74f8f5146ab} % Quelle
\label{fig:db-ranking}
\end{minipage}
\end{figure}
- Ranking TSDB\\
- Graph InfluxDB vs MySQL
\subsection{Time Series Data}
Wie der Name schon sagt ist Time Series Data eine Reihe von Daten die über einen Zeitraum gesammelt wordern sind. Es wird also nicht nur der Endwert aufgezeichnet
sonder die Veränderung über einen Zeitraum. Diese Daten können z.B. Servermetriken, Anwendungs Leistungsüberwachung, Netzwerkdaten, Sensordaten,
Ereignisse, Klicks, Marktgeschäfte und viele andere Arten von Daten sein. Time Series Data können gut daran erkannt, dass die Zeit eine Wichtige
Axe bei der Darstellung der Werte ist.\footnote{\cite[vgl.][]{PaulDix}}
Manchmal ist es nicht notwendig alle Daten zu erfassen. Zum Beispiel wird in vielen Anwendungen nur der letze Login gespeichert und mehr ist auch für die
Funktion nicht notwendig. Allerdings können zusätzliche Informationen gewonnen werden wenn nicht nur die letzen Daten sondern die Veränderung aufgezeichnet werden.
So kann zum Beispeil festgestellt werden wie oft und wann sich der Kunde einloggt und ob es dabei ein Muster gibt. Anhand dieser Daten können Kunden dann Kategorisiert werden.\footnote{\cite[vgl.][]{DataScienceTeam2020}}
Eine besonderheit von Time Series Data ist das sie sich nicht verändert. Wenn die Daten einmal erfasst wurden wird an ihnen nichts mehr geändert.
Es werden nur neue Daten hinzugefügt\footnote{\cite[vgl.][]{SamFangman2019}}
\subsection{{Funktion Time Series Database}}
\subsection{Notizen}
sind dabei immer dann sinnvoll wenn Time Series Data gespeichert werden soll.\footnote{\cite[vgl.][]{DataScienceTeam2020}}
Diese Daten zeichnen sich besonders dadurch aus
das die Zeit eine wichtiger Faktor für diese Daten ist.
- Eine Reihe von Daten
- Timestamp als wichtiger Wert
- Meistens werden nur neue Daten hinzugefügt.
- Im vergleich zu einer MySQL Datenbank gibt es nur Inserts und keine Updates
- Es wird die Veränderung über die Zeit Aufgezeichnet.- Time SEries Data kann in einer SQL Datenbank gespeichert werden. Diese Datenbanken skalieren aber nur schlecht.
Die Meisten TSDB haben zusätzliche fUNKTIONEN Um mit den Daten zu arbeiten.
- alte Daten löschen
- durchgehende Abfragen
Daten:
- Server Monitoring
- Sensordaten
- Wissenschaftliche Daten
- Industrielle Daten / Events
- Log Data
- MySQL -> Beim Login wird LastLogin geupdatete
- TSDB -> Beim Login wird ein neuer Datenpunkt erstellt.
-> Mehr Informationen werden beibehalten. Wie oft eingeloggt. Wann eingeloggt u.s.w.
- Autos Sammeln 4,000 GB pro Tag
Use Cases
- Software Monitoring
- Hardware Überwachung
- IOT
- Wetterdaten
- Raumtemperatur
- Positionsaufzeichnung von Autos,Containern,Paletten
- Eventaufzeichnungen wie Benutzerinteraktion
- Business intelligence Überwachen von Kennzahlen
- alles weitere wo Zeitrelevante Daten anfallen.
Eine große Menge von Daten ist sehr stark an die Zeit gebunden in der sie erzeugt werden. So sind z.B. Sensordaten
sehr eng mit der Aufzeichungszeit verbunden. Weil sich die Werte sofort wieder verändern können.
\subsection{Schrift}
\label{sec:schrift}
\subsubsection{Schriftgrößen}
\label{sec:schriftgroessen}
\tiny Das ist sehr kleine Schrift\\
\small Das ist kleine Schrift\\
\normalsize Das ist normale Schrift\\
\large Das ist große Schrift\\
\Large Das ist größere Schrift\\
\LARGE Das ist noch größere Schrift\\
\huge Das ist riesige Schrift\\
\Huge Das ist noch riesigere Schrift\\
\scriptsize Das ist Script Schrift\\
\footnotesize Das ist Fußnoten Schrift
\normalsize
\subsubsection{Schrift Typen}
\label{sec:Schrift Typen}
\textbf{Das ist ein fetter Text}\\
\textit{Das ist ein kursiver Text}\\
\underline{Das ist ein unterstrichener Text}\\
\textsc{Das ist ein kapitälchen Text}\\
\textsf{Das ist ein serifenloser Text}\\
\texttt{Das ist ein Schreibmaschinen Text}\\
\textnormal{Das ist ein normaler Text}
\subsubsection{Schrift Ausrichtung}
\label{sec:Schrift Ausrichtung}
\begin{quote}
Quote Text (Der gesamte Text innerhalb der Umgebung wird von beiden Seiten eingerückt)
\end{quote}
\begin{center}
Zentrierter Text (Der gesamte Text innerhalb der Umgebung wird zentriert)
\end{center}
\begin{flushleft}
Linksbündiger Text (Der gesamte Text innerhalb der Umgebung wird linksbündig)
\end{flushleft}
\begin{flushright}
Rechtsbündiger Text (Der gesamte Text innerhalb der Umgebung wird rechtsbündig)
\end{flushright}
In einer Fußnote\footnote{können zusätzliche Ergänzungen, Präzisierungen, Textverweise usw. eingeführt werden.}
\subsection{Abbildungen}
In \cref{fig:fhdw} sehen Sie das Logo der FHDW.
\begin{figure}[hbt]
\centering
\begin{minipage}[t]{.7\textwidth} % Breite, z.B. 1\textwidth
\caption{Das Logo der FHDW} % Überschrift
\includegraphics[width=1\textwidth]{img/fhdw}\\ % Pfad
\source{Eigene Darstellung} % Quelle
\label{fig:fhdw}
\end{minipage}
\end{figure}
\subsection{Tabellen}
In \cref{tab:pin} auf Seite \pageref{tab:pin} sehen Sie die am häufigsten benutzten PINs.
\begin{table}[hbt]
\centering
\begin{minipage}[t]{.5\textwidth} % Breite, z.B. 1\textwidth
\caption{Die am häufigsten verwendeten PINs} % Überschrift
\begin{tabularx}{\columnwidth}{rXrr}
\toprule
Rank & PIN & Percentage & Accumulated \\
\midrule
1 & 1234 & 4.34\% & 4.34\%\\
2 & 0000 & 2.57\% & 6.91\%\\
3 & 2580 & 2.32\% & 9.23\%\\
4 & 1111 & 1.60\% & 10.83\%\\
5 & 5555 & 0.87\% & 12.70\%\\
6 & 5683 & 0.70\% & 12.39\%\\
7 & 0852 & 0.60\% & 12.99\%\\
8 & 2222 & 0.56\% & 13.55\%\\
9 & 1212 & 0.49\% & 14.03\%\\
10 & 1998 & 0.43\% & 14.46\%\\
\bottomrule
\end{tabularx}
\source{Eigene Darstellung} % Quelle
\label{tab:pin}
\end{minipage}
\end{table}
\subsection{Zitate}
Ein Zitat im Fließtext ist zu sehen bei \citet{Fuller2011}.
Ein vergleichendes Zitat.\footnote{\cite[vgl.][5\psqq]{Maslennikov2011}}
Ein \enquote{wörtliches Zitat}\footnote{\cite[13\psq]{Meier2010}}
Zitat einer Quelle mit mehreren Autoren.\footnote{\cite[vgl.][32\psqq]{Hocking2011a}}
\subsection{Abkürzungen}
Bei der ersten Verwendung werden Abkürzungen ausgeschrieben: \gls{AES}.
Später wird dann automatisch nur noch die Kurzform benutzt: \gls{AES}
\subsection{Listen}
\label{sec:Listen}
Eine einfache List mit Punkten:
\begin{compactitem}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{compactitem}
Eine einfache Liste mit Nummern:
\begin{compactenum}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{compactenum}
Eine einfache Liste mit römischen Nummern:
\begin{compactenum}[I.]
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{compactenum}
Eine einfache Liste mit Buchstaben:
\begin{compactenum}[(a)]
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{compactenum}
\subsection{Quelltext}
Listing~\ref{list:android} auf Seite~\pageref{list:android} zeigt einigen Quelltext.
\begin{figure}[bht]
\begin{lstlisting}[caption=Scanning for Wi-Fi Access Points on Android, label=list:android]
registerReceiver(new RSSIBroadcastReceiver(),
new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
WifiManager wifi = getSystemService(Context.WIFI_SERVICE);
wifi.startScan();
/* not thread safe */
public class RSSIBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
WifiManager wifi = getSystemService(Context.WIFI_SERVICE);
List<ScanResult> scanResults = wifiManager.getScanResults();
for (ScanResult scanResult : results) {
RSSI rssi = new RSSI();
rssi.bssi = scanResult.BSSID;
rssi.signalLevel = scanResult.level;
}
}
}
\end{lstlisting}
%\footnoterule{}
%\footnotesize{Casts have been omitted for the sake of readability}
\end{figure}

View file

@ -1,13 +1,62 @@
%!TEX root = ../Thesis.tex
\section{Grundlagen}
\subsection{Verbreitete \gls{DBMS}}
\gls{TSDB} gehören zu den NoSQL Datenbanken und sind besonders darauf optimiert mit Time Series Data zu arbeiten. Daruch können die große Mengen an
Time Series Daten verarbeiten durchsuchen und Speichern.\footnote{\cite[vgl.][]{ComputerWeekly}}
\subsection{Time Series Data}
Um \gls{TSDB} zu verstehen muss als erstes geklärt werden was Time Series Data überhaupt ist und wie sie sich von anderen Daten unterscheiden.
Wie der Name schon sagt ist Time Series Data eine Reihe von Daten die über einen Zeitraum gesammelt wordern sind. Es wird also nicht nur der Endwert aufgezeichnet
sonder die Veränderung über einen Zeitraum. Diese Daten können z.B. Servermetriken, Anwendungs Leistungsüberwachung, Netzwerkdaten, \gls{IOT} Sensordaten,
Ereignisse, Klicks, Marktgeschäfte und viele andere Arten von Daten sein. Time Series Data können gut daran erkannt, dass die Zeit eine Wichtige
Axe bei der Darstellung der Werte ist.\footnote{\cite[vgl.][1\psqq]{PaulDix}}
Manchmal ist es nicht notwendig alle Daten zu erfassen. Zum Beispiel wird in vielen Anwendungen nur der letze Login gespeichert und mehr ist auch für die
Funktion nicht notwendig. Allerdings können zusätzliche Informationen gewonnen werden wenn nicht nur die letzen Daten sondern die Veränderung aufgezeichnet werden.
So kann zum Beispeil festgestellt werden wie oft und wann sich der Kunde einloggt und ob es dabei ein Muster gibt. Anhand dieser Daten können Kunden dann Kategorisiert werden.\footnote{\cite[vgl.][]{DataScienceTeam2020}}
Eine besonderheit von Time Series Data ist das sie sich nicht verändert. Wenn die Daten einmal erfasst wurden wird an ihnen nichts mehr verändert.
Es werden nur neue Daten hinzugefügt\footnote{\cite[vgl.][]{SamFangman2019}}
%
%\subsection{{Funktionen von Time Series Database}}
%
%Um mit Time Series Data arbeiten zu können sind für eine \gls{TSDB} enige wichtige FUnktionen notwendig. Die wichtigesten Funktionen einer
%\gls{TSDB} ist es Time Series Data zu speichern. Hier muss
%
%
%hese include time-stamp data storage and compression, data lifecycle management, data summarization,
%ability to handle large time series dependent scans of many records, and time series aware queries.
%
%Im Aufbau unterscheiden sich \gls{TSDB} vorallendingen darin das sie nur dazu
\subsection{{Unterschiede zwishen Time Series und relationalen Datenbanken}}
%Umschreiben und andere Quellen verwenden
Um Time Series Data zu speichern ist es nicht unbedingt erforderlich eine \gls{TSDB} zu nutzen. Auch relationalen Datenbanken können Time Series
Data speichern. Einer der wichtigesten unterschiede zwischen einer \gls{TSDB} im gegensatz zu einer \gls{RDBMS} ist es, dass kein Datenbank Schema notwendig ist.
Wenn Time Series Daten in eine Rationale Datenbank geschreiben werden sollen müssen erst entsprechende Tabellen angelegt werden in denen die Daten immer im
gleichen Format abgelegt werden müssem. Im gegensatz dazu können in einer \gls{TSDB} die Daten einfach Schemafrei in die Datenbank geschreiben werden. Ein
weiterer Vorteil ist es, dass \gls{TSDB} im gegensatz zu relationalen Datenbanken besser und einfacher Skaliert werden
können.\footnote{\cite[vgl.][]{InfluxDataSQL}}
Aber \gls{TSDB} haben nicht nur Vorteile. Wie in \cref{fig:db-ranking} zu sehen sind sie viel weniger verbreitet als Zeitbasierte Datenbank Systeme. Dadurch gibt
es viel weniger Entwickler die sich mit \gls{TSDB} auskennen und auch das Okösystem um die Datenbank ist deutlich kleiner. Außerdem sind \gls{RDBMS}
dadurch das es sie viel länger gibt sehr Stabil und sehr gut unterstützt.\footnote{\cite[vgl.][]{InfluxDataSQL}}
\gls{RDBMS} Arbeiten nach dem \gls{CRUD} Prinzip welches für Time Series Data nicht optimal ist. Auf Time Seires Data werden keine Update Befehle durchgeführt, da
neue Daten immer nur als neuer Datenpunkt angehängt werden. Auch das Löschen von Daten wird nicht sehr häufig durchgeführt und im gegensatz zu \gls{RDBMS}
meistens gleichzeit auf einer großen Menge an Datensätzen. Daher sind \gls{TSDB} besser dafür geeignet mit Time Series Data zu arbeiten und weisen auch eine
höhere Performance auf.\footnote{\cite[vgl.][]{InfluxDataSQL}}
\subsection{Verbreitete DBMS}
Aktuell gibt es wie in \cref{fig:db-ranking} zu sehen einige beliebte Mulit-Model Datenbanken die als \gls{TSDB} gentuzt werden können.
So können die Datenbanken MongoDB, Redis, Teradata und Couchbase mit Time Series Daten arbeiten. Die erste reine \gls{TSDB} im Ranking ist InfluxDB
auf Platz 29.\footnote{\cite[vgl.][]{dbranking}} %ist das eine Quelle die ich nutzen darf?
auf Platz 29.\footnote{\cite[vgl.][]{dbranking}}
% Wenn ich zu viele Seiten habe kommt das Bild in den Anhang
\begin{figure}[hbt]
\centering
\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
@ -18,237 +67,17 @@ auf Platz 29.\footnote{\cite[vgl.][]{dbranking}} %ist das eine Quelle die ich nu
\end{minipage}
\end{figure}
- Ranking TSDB\\
- Graph InfluxDB vs MySQL
% 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
\subsection{Time Series Data}
%\begin{figure}[hbt]
%\centering
%\begin{minipage}[t]{0.9\textwidth} % Breite, z.B. 1\textwidth
%\caption{TSDB Ranking} % Überschrift
%\includegraphics[width=1\textwidth]{img/TSDB-Engines-Ranking}\\ % Pfad
%\source{https://db-engines.com/de/ranking/time+series+dbms} % Quelle
%\label{fig:tsdb-ranking}
%\end{minipage}
%\end{figure}
Wie der Name schon sagt ist Time Series Data eine Reihe von Daten die über einen Zeitraum gesammelt wordern sind. Es wird also nicht nur der Endwert aufgezeichnet
sonder die Veränderung über einen Zeitraum. Diese Daten können z.B. Servermetriken, Anwendungs Leistungsüberwachung, Netzwerkdaten, Sensordaten,
Ereignisse, Klicks, Marktgeschäfte und viele andere Arten von Daten sein. Time Series Data können gut daran erkannt, dass die Zeit eine Wichtige
Axe bei der Darstellung der Werte ist.\footnote{\cite[vgl.][]{PaulDix}}
Manchmal ist es nicht notwendig alle Daten zu erfassen. Zum Beispiel wird in vielen Anwendungen nur der letze Login gespeichert und mehr ist auch für die
Funktion nicht notwendig. Allerdings können zusätzliche Informationen gewonnen werden wenn nicht nur die letzen Daten sondern die Veränderung aufgezeichnet werden.
So kann zum Beispeil festgestellt werden wie oft und wann sich der Kunde einloggt und ob es dabei ein Muster gibt. Anhand dieser Daten können Kunden dann Kategorisiert werden.\footnote{\cite[vgl.][]{DataScienceTeam2020}}
Eine besonderheit von Time Series Data ist das sie sich nicht verändert. Wenn die Daten einmal erfasst wurden wird an ihnen nichts mehr geändert.
Es werden nur neue Daten hinzugefügt\footnote{\cite[vgl.][]{SamFangman2019}}
\subsection{{Funktion Time Series Database}}
\subsection{Notizen}
sind dabei immer dann sinnvoll wenn Time Series Data gespeichert werden soll.\footnote{\cite[vgl.][]{DataScienceTeam2020}}
Diese Daten zeichnen sich besonders dadurch aus
das die Zeit eine wichtiger Faktor für diese Daten ist.
- Eine Reihe von Daten
- Timestamp als wichtiger Wert
- Meistens werden nur neue Daten hinzugefügt.
- Im vergleich zu einer MySQL Datenbank gibt es nur Inserts und keine Updates
- Es wird die Veränderung über die Zeit Aufgezeichnet.- Time SEries Data kann in einer SQL Datenbank gespeichert werden. Diese Datenbanken skalieren aber nur schlecht.
Die Meisten TSDB haben zusätzliche fUNKTIONEN Um mit den Daten zu arbeiten.
- alte Daten löschen
- durchgehende Abfragen
Daten:
- Server Monitoring
- Sensordaten
- Wissenschaftliche Daten
- Industrielle Daten / Events
- Log Data
- MySQL -> Beim Login wird LastLogin geupdatete
- TSDB -> Beim Login wird ein neuer Datenpunkt erstellt.
-> Mehr Informationen werden beibehalten. Wie oft eingeloggt. Wann eingeloggt u.s.w.
- Autos Sammeln 4,000 GB pro Tag
Use Cases
- Software Monitoring
- Hardware Überwachung
- IOT
- Wetterdaten
- Raumtemperatur
- Positionsaufzeichnung von Autos,Containern,Paletten
- Eventaufzeichnungen wie Benutzerinteraktion
- Business intelligence Überwachen von Kennzahlen
- alles weitere wo Zeitrelevante Daten anfallen.
Eine große Menge von Daten ist sehr stark an die Zeit gebunden in der sie erzeugt werden. So sind z.B. Sensordaten
sehr eng mit der Aufzeichungszeit verbunden. Weil sich die Werte sofort wieder verändern können.
\subsection{Schrift}
\label{sec:schrift}
\subsubsection{Schriftgrößen}
\label{sec:schriftgroessen}
\tiny Das ist sehr kleine Schrift\\
\small Das ist kleine Schrift\\
\normalsize Das ist normale Schrift\\
\large Das ist große Schrift\\
\Large Das ist größere Schrift\\
\LARGE Das ist noch größere Schrift\\
\huge Das ist riesige Schrift\\
\Huge Das ist noch riesigere Schrift\\
\scriptsize Das ist Script Schrift\\
\footnotesize Das ist Fußnoten Schrift
\normalsize
\subsubsection{Schrift Typen}
\label{sec:Schrift Typen}
\textbf{Das ist ein fetter Text}\\
\textit{Das ist ein kursiver Text}\\
\underline{Das ist ein unterstrichener Text}\\
\textsc{Das ist ein kapitälchen Text}\\
\textsf{Das ist ein serifenloser Text}\\
\texttt{Das ist ein Schreibmaschinen Text}\\
\textnormal{Das ist ein normaler Text}
\subsubsection{Schrift Ausrichtung}
\label{sec:Schrift Ausrichtung}
\begin{quote}
Quote Text (Der gesamte Text innerhalb der Umgebung wird von beiden Seiten eingerückt)
\end{quote}
\begin{center}
Zentrierter Text (Der gesamte Text innerhalb der Umgebung wird zentriert)
\end{center}
\begin{flushleft}
Linksbündiger Text (Der gesamte Text innerhalb der Umgebung wird linksbündig)
\end{flushleft}
\begin{flushright}
Rechtsbündiger Text (Der gesamte Text innerhalb der Umgebung wird rechtsbündig)
\end{flushright}
In einer Fußnote\footnote{können zusätzliche Ergänzungen, Präzisierungen, Textverweise usw. eingeführt werden.}
\subsection{Abbildungen}
In \cref{fig:fhdw} sehen Sie das Logo der FHDW.
\begin{figure}[hbt]
\centering
\begin{minipage}[t]{.7\textwidth} % Breite, z.B. 1\textwidth
\caption{Das Logo der FHDW} % Überschrift
\includegraphics[width=1\textwidth]{img/fhdw}\\ % Pfad
\source{Eigene Darstellung} % Quelle
\label{fig:fhdw}
\end{minipage}
\end{figure}
\subsection{Tabellen}
In \cref{tab:pin} auf Seite \pageref{tab:pin} sehen Sie die am häufigsten benutzten PINs.
\begin{table}[hbt]
\centering
\begin{minipage}[t]{.5\textwidth} % Breite, z.B. 1\textwidth
\caption{Die am häufigsten verwendeten PINs} % Überschrift
\begin{tabularx}{\columnwidth}{rXrr}
\toprule
Rank & PIN & Percentage & Accumulated \\
\midrule
1 & 1234 & 4.34\% & 4.34\%\\
2 & 0000 & 2.57\% & 6.91\%\\
3 & 2580 & 2.32\% & 9.23\%\\
4 & 1111 & 1.60\% & 10.83\%\\
5 & 5555 & 0.87\% & 12.70\%\\
6 & 5683 & 0.70\% & 12.39\%\\
7 & 0852 & 0.60\% & 12.99\%\\
8 & 2222 & 0.56\% & 13.55\%\\
9 & 1212 & 0.49\% & 14.03\%\\
10 & 1998 & 0.43\% & 14.46\%\\
\bottomrule
\end{tabularx}
\source{Eigene Darstellung} % Quelle
\label{tab:pin}
\end{minipage}
\end{table}
\subsection{Zitate}
Ein Zitat im Fließtext ist zu sehen bei \citet{Fuller2011}.
Ein vergleichendes Zitat.\footnote{\cite[vgl.][5\psqq]{Maslennikov2011}}
Ein \enquote{wörtliches Zitat}\footnote{\cite[13\psq]{Meier2010}}
Zitat einer Quelle mit mehreren Autoren.\footnote{\cite[vgl.][32\psqq]{Hocking2011a}}
\subsection{Abkürzungen}
Bei der ersten Verwendung werden Abkürzungen ausgeschrieben: \gls{AES}.
Später wird dann automatisch nur noch die Kurzform benutzt: \gls{AES}
\subsection{Listen}
\label{sec:Listen}
Eine einfache List mit Punkten:
\begin{compactitem}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{compactitem}
Eine einfache Liste mit Nummern:
\begin{compactenum}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{compactenum}
Eine einfache Liste mit römischen Nummern:
\begin{compactenum}[I.]
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{compactenum}
Eine einfache Liste mit Buchstaben:
\begin{compactenum}[(a)]
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{compactenum}
\subsection{Quelltext}
Listing~\ref{list:android} auf Seite~\pageref{list:android} zeigt einigen Quelltext.
\begin{figure}[bht]
\begin{lstlisting}[caption=Scanning for Wi-Fi Access Points on Android, label=list:android]
registerReceiver(new RSSIBroadcastReceiver(),
new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
WifiManager wifi = getSystemService(Context.WIFI_SERVICE);
wifi.startScan();
/* not thread safe */
public class RSSIBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
WifiManager wifi = getSystemService(Context.WIFI_SERVICE);
List<ScanResult> scanResults = wifiManager.getScanResults();
for (ScanResult scanResult : results) {
RSSI rssi = new RSSI();
rssi.bssi = scanResult.BSSID;
rssi.signalLevel = scanResult.level;
}
}
}
\end{lstlisting}
%\footnoterule{}
%\footnotesize{Casts have been omitted for the sake of readability}
\end{figure}

BIN
arbeit/chapter/InfluxDB.tex Normal file

Binary file not shown.

View file

@ -0,0 +1,103 @@
\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.

View file

@ -1,14 +1,9 @@
\newacronym{TSDB}{TSDB}{Time Series Database}
\newacronym{DWD}{DWD}{Deutscher Wetterdienst}
\newacronym{IOT}{IOT}{Internet of Things}
\newacronym{DBMS}{DBMS}{Datenbank Management System}
%%%%%%%%%%%%%%%% Alte Abkürzungen
\newacronym{AES}{AES}{Advanced Encryption Standard}
\newacronym{AI}{AI}{Artificial Intelligence}
\newacronym{AOA}{AOA}{Angle of Arrival}
\newacronym{IOT}{IOT}{Internet of Things}
\newacronym{RDBMS}{RDBMS}{Relational Database Management System}
\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}

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

View file

@ -20,6 +20,15 @@ year = {2010},
keywords = {mono}
}
@inproceedings{Hocking2011a,
author = {Hocking, Christopher G. and Furnell, Steven M. and Clarke, Nathan L. and Reynolds, Paul L.},
booktitle = {Proceedings of International Conference on Information Assurance and Security (IAS)},
pages = {304--310},
title = {{A Distributed and Cooperative User Authentication Framework}},
year = {2010},
keywords = {mag}
}
@misc{Maslennikov2011,
author = {Maslennikov, Denis},
title = {{ZeuS-in-the-Mobile Facts and Theories}},
@ -29,15 +38,45 @@ year = {2011},
keywords = {web}
}
%%%% Quellen
@misc{InfluxAPI,
author = {Influxdata},
title = {{API Quick Start}},
url = {https://docs.influxdata.com/influxdb/v2.2/api-guide/api_intro/},
urldate = {2022-05-21},
year = {2022},
keywords = {web}
}
@misc{InfluxDataSQL,
author = {Influxdata},
title = {{Why You Should Migrate from SQL to NoSQL for Time Series Data}},
url = {https://www.influxdata.com/from-sql-to-nosql/},
urldate = {2022-05-20},
year = {2021},
keywords = {web}
}
@misc{DataScienceTeam2020,
author = {Data-Science-Team},
title = {{What the heck is time-series data (and why do I need a time-series database)?}},
url = {https://datascience.eu/wiki/what-the-heck-is-time-series-data-and-why-do-i-need-a-time-series-database/},
url = {https://www.computerweekly.com/de/definition/Zeitreihendatenbank-Time-Series-Database-TSDB},
urldate = {2022-05-09},
year = {2020},
keywords = {web}
}
@misc{ComputerWeekly,
author = {Redaktion ComputerWeekly.de},
title = {{Definition Zeitreihendatenbank (Time Series Database, TSDB) }},
url = {https://datascience.eu/wiki/what-the-heck-is-time-series-data-and-why-do-i-need-a-time-series-database/},
urldate = {2021-05-21},
year = {2021},
keywords = {web}
}
@misc{PaulDix,
author = {Paul Dix},
title = {{Why Time Series Matters for Metrics, Real-Time Analytics and Sensor Data}},
@ -64,15 +103,3 @@ urldate = {2022-05-10},
year = {2022},
keywords = {web}
}
@inproceedings{Hocking2011a,
author = {Hocking, Christopher G. and Furnell, Steven M. and Clarke, Nathan L. and Reynolds, Paul L.},
booktitle = {Proceedings of International Conference on Information Assurance and Security (IAS)},
pages = {304--310},
title = {{A Distributed and Cooperative User Authentication Framework}},
year = {2010},
keywords = {mag}
}

Binary file not shown.

Binary file not shown.

View file

@ -124,7 +124,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.10"
"version": "3.9.12"
}
},
"nbformat": 4,

View file

@ -40,6 +40,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Daten Ordner erstellt\n",
"Fertig\n"
]
}
@ -162,7 +163,12 @@
"cell_type": "code",
"execution_count": 4,
"id": "2524986b-9c26-42d5-8d76-f4e228d0eb48",
"metadata": {},
"metadata": {
"jupyter": {
"source_hidden": true
},
"tags": []
},
"outputs": [
{
"name": "stdout",
@ -402,7 +408,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.10"
"version": "3.9.12"
}
},
"nbformat": 4,

Binary file not shown.

Binary file not shown.

View file

@ -1,153 +0,0 @@
4,3
2,3
1,3
0,9
0,1
0,300
0,299
0,298
0,297
0,296
0,295
0,294
0,293
0,292
0,291
0,290
0,289
0,288
0,287
0,286
0,285
0,284
0,283
0,282
0,281
0,280
0,279
0,278
0,277
0,276
0,275
0,274
0,273
0,272
0,271
0,270
0,269
0,268
0,267
0,266
0,265
0,264
0,263
0,262
0,261
0,260
0,259
0,258
0,257
0,256
0,255
0,254
0,253
0,252
0,251
0,250
0,249
0,248
0,247
0,246
0,245
0,244
0,242
0,241
0,240
0,239
0,238
0,237
0,236
0,235
0,234
0,233
0,232
0,231
0,230
0,229
0,228
0,227
0,226
0,225
0,224
0,223
0,222
0,221
0,220
0,219
0,218
0,217
0,216
0,215
0,214
0,213
0,212
0,211
0,210
0,209
0,208
0,207
0,206
0,205
0,204
0,203
0,202
0,201
0,200
0,199
0,198
0,197
0,196
0,195
0,194
0,193
0,192
0,63
0,62
0,61
0,60
0,59
0,58
0,57
0,56
0,55
0,54
0,53
0,52
0,51
0,50
0,311
0,49
0,310
0,48
0,309
0,47
0,308
0,46
0,307
0,45
0,301
0,6
0,5
0,304
0,303
0,306
0,305
0,302
0,12
0,10
0,8
0,11
0,4
0,2
0,3
0,7

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more