\section{Implementation}
\label{sec:cp2-implementation}

For long code snippets, we recommend to put them into the appendix of the report. However, do not forget to reference them in the text. Small code snippets can also be put directly alongside the respective paragraphs.

\subsection{Resources}
\label{subsec:cp2-resources}

This section is supposed to enumerate (at least) \emph{four} helpful resources that you conducted in the course of implementing your application (e.g., the official documentation of the chosen system). Briefly discuss in which respect the respective resources were useful (1 paragraph each).

Although not mandatory, we would like to encourage you to list \emph{all} resources that were useful to you (even without description).

\begin{packed_enum}
   \item \ldots
   \item \ldots
   \item \ldots
   \item \ldots
   \item Additional resource \ldots
\end{packed_enum}

\subsection{Setup}
\label{subsec:cp2-setup}

Describe the machine setup thoroughly. This section serves as documentation of your setup such that someone else could read through it and deploy your application on a different machine after configuring this machine accordingly. This includes (but is not limited to) the operating system of your (virtual) machine, third-party tools/libraries, or modifications to configuration files. Also explain why the respective tools/modifications were required/necessary in order to deploy your application successfully (or maybe you just used/modified them for convenience, which would also be okay).

\subsection{Datasets}
\label{subsec:cp2-datasets}

If you use any additional or different datasets than specified in checkpoint 1, name them and discuss their characteristics (as required in checkpoint 1) (min. 1 paragraph per dataset).

If you generated your own synthetic datasets and made changes to the generation process described in checkpoint 1, discuss and justify these changes here (min. 1 paragraph per dataset).

\subsubsection{Generation}
\label{subsubsec:cp2-generation}

If you generated your own synthetic datasets, explain in detail how your datasets are generated (including code snippets). This includes (but is not limited to) the programming language/tools and how you ensure that your datasets satisfy the desired characteristics (1-2 paragraphs).

\subsubsection{Import}
\label{subsubsec:cp2-import}

Discuss the import process here (including code snippets). Did you apply any transformations before the data is stored in the underlying database system? Which information is (not) stored? How is the information represented in the underlying data model of your system? (1-2 paragraphs)

If your datasets are of static nature, how long did it take you to import the datasets? Did you put some effort into optimizing the import process? If so, reason about the necessity (for example, because of very long runtimes without optimizations) and briefly describe why the optimizations did (not) improve your import process (1 paragraph each).

\subsection{Implementation}
\label{subsec:cp2-implementation}

Describe the actual implementation of your application. This subsection is supposed to summarize all important parts/modules of your implementation (including code snippets). For example, if you use frameworks/libraries, describe how they interact with the remaining parts of your application.

This section (including its subsection) is supposed to constitue the majority of the report which is also reflected in the gradine scheme. Hence, this part of the report should at least be 2-3 pages in total (text \emph{and} figures).

\subsubsection{Key System Features}
\label{subsubsec:cp2-key-system-features}

Discuss at least two key features of your underlying (database) system that you used to implement (or optimize) your application (min. 1 paragraph each).

This includes (but is not limited to) indexes, views, replication, sharding, transactions, specialized algorithms or data structures, aggregations, \ldots

\subsection{Problems Encountered}
\label{subsec:cp2-problems}

\emph{Optional}. If any, summarize problems your encountered while implementing your application. Briefly describe how you resolved the respective problems. Moreover, if you had to make design decisions, discuss and justify them here.

\subsection{Alternative Implementation}
\label{subsec:cp2-alternative-implementation}

\emph{Optional}. Describe an implementation of your application that is based on a different database/processing system (1-2 paragraphs). Briefly specify the key parts of this alternative implementation (1 paragraph each) and discuss the main differences to your implementation (for example, limitations, advantages/disadvantages, any other interesting aspect with respect to performance, scalability, flexbility, \ldots) (1 paragraph each).
