summaryrefslogtreecommitdiff
path: root/content/implementation.tex
diff options
context:
space:
mode:
Diffstat (limited to 'content/implementation.tex')
-rw-r--r--content/implementation.tex26
1 files changed, 25 insertions, 1 deletions
diff --git a/content/implementation.tex b/content/implementation.tex
index 424103c..86cb72d 100644
--- a/content/implementation.tex
+++ b/content/implementation.tex
@@ -32,6 +32,30 @@ The \code{Schema Registry} is a important component that allows the storage of d
With \code{Schema Registry}, we ensure that the data stored in \code{PostgreSQL} tables and in \code{Redis} streams contains the exact same schema.
Moreover, \code{Schema Registry} is compatible with versatile data interchange formats, such as \code{ProtoBuf}~\cite{Wikipedia:article/ProtoBuf}.
+\code{Redis}, is a key value store that provides efficient store and retrieval operations~\cite{Wikipedia:article/Redis}.
+In particular, \code{Redis} is capable of storing \emph{streams} -- append only logs which allow for fast and quick query of large volumes of data.
+\code{Redis} is the industry leader in key value caching.
+The only alternative to \code{Redis} is \code{memcached}~\cite{Wikipedia:article/Memcached}, which does not provide the capability to integrate with \code{Kafka}.
+
+\code{PostgreSQL} is a database management system, necessary to store large volumes of out-of-band data coming from the physical datacenter.
+The \code{PostgreSQL} server provides a simple and straightforward interface to query the data via \code{psql}.
+Importantly, to adhere to the single responsibility principle, \code{PostgreSQL} does not provide any \gls{ui}.
+Additionally, there exist many integrations between \code{PostgreSQL} and other software, including \code{Kafka}.
+The many alternatives to \code{PostgreSQL} are listed in~\cite{Wikipedia:article/Postgresql}.
+An alternative used in previous work is \code{InfluxDB}~\cite{DBLP:conf/wosp/SumanCNTMI24}.
+
+Lastly, to enable predictive analytics we use a state-of-the-art discrete-event simulator, \code{OpenDC}~\cite{GitHub:software/OpenDC}.
+\code{OpenDC} is a leading software package capable of modeling complex datacenter phenomena and workloads (\eg failures, workflows, machine learning).
+For a specific overview of advantages of \code{OpenDC} and a thorough comparison with other alternatives, see \Cref{tab:datacenter_simulator_comparison}.
+
+\begin{figure}[t]
+ \centering
+ \includegraphics[width=\linewidth]{images/flow_diagram.pdf}
+ \caption{The data flow within \gls{my_system} (work under progress).}
+ \label{fig:flow_diagram}
+\end{figure}
+
\section{Data Flow}\label{ss:data_flow}
-\section{Code Writing}\label{ss:programming}
+
+\section{Programming Effort}\label{ss:programming}