84 lines
5.5 KiB
TeX
84 lines
5.5 KiB
TeX
%!TEX root = ../Thesis.tex
|
|
\section{Grundlagen}
|
|
|
|
\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}}
|
|
|
|
% 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
|
|
\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}
|
|
|
|
% 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
|
|
|
|
%\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}
|
|
|