Kap 9: Speicherung fertig

This commit is contained in:
Christian Bay 2014-02-12 11:41:27 +01:00
parent c9f7e3a4b1
commit 15f224941b

View File

@ -52,7 +52,11 @@ und \textbf{direkt} auf die Felder zugreifen.
\caption{Variable Satz Speicherstruktur} \caption{Variable Satz Speicherstruktur}
\end{center} \end{center}
\end{figure} \end{figure}
Würden man alle Felder mit den Zeiger erreichen, wäre das Speicherplatzverschwendung.
So sind alle Felder fester Größe direkt erreichbar.
\textbox{Speicheurngsstruktur in Sätzen}{
Blatt 9 Aufgabe 2 üben.
}
\subsection{Speicherung von Relationen} \subsection{Speicherung von Relationen}
\subsubsection{Spaltenweise Speicherung (C-Store)} \subsubsection{Spaltenweise Speicherung (C-Store)}
\begin{itemize} \begin{itemize}
@ -63,19 +67,59 @@ und \textbf{direkt} auf die Felder zugreifen.
\end{itemize} \end{itemize}
\textbf{Prototyp} \textbf{Prototyp}
\begin{itemize} \begin{itemize}
\item speichert Sammlung von Spaltengruppen nach Attribut sortiert \item speichert Sammlung von Spaltengruppen
über mehrere Sätze verteilt
\item Sortierschlüssel ist ein Attribut
\item Gruppen von Spalten = Projektion \item Gruppen von Spalten = Projektion
\item Speicherung \item Speicherung
\begin{itemize} \begin{itemize}
\item \textbf{Schreibspeicher} für schnelles Einfügen und Ändern von Tupeln \item \textbf{Schreibspeicher} für schnelles Einfügen und Ändern von Tupeln
\item \textbf{Lesespeicher} für umfangreiche Analysen \item \textbf{Lesespeicher} für umfangreiche Analysen
\end{itemize} \end{itemize}
\item Änderung durch Löschen und Einfügen \item Änderung durch Löschen und Einfügen durch Tuple Mover
\end{itemize} \end{itemize}
\textbf{Projektionen} \textbf{Projektionen}
\begin{itemize} \begin{itemize}
\item Die Projektionen besitzen ein oder mehrere Attribute aus einer logischen \item Die Projektionen besitzen ein oder mehrere Attribute aus einer logischen
Tablle (ggf durch Fremdschlüssel auch Attribute aus anderen Tabellen) Tablle (ggf durch Fremdschlüssel auch Attribute aus anderen Tabellen)
\item Duplikate bleiben erhalten \item Duplikate bleiben erhalten
\item Als Sortierschlüssel wird eines der Attribute hergenohmen \item Als Sortierschlüssel wird eines der Attribute hergenommen
\end{itemize} \end{itemize}
\textbf{Komprimierungen}
Abhängig von zwei Eigenschaften der Spalte:
\begin{itemize}
\item Sortierung (nach der Spalte selbst) : ja/nein
\item Anzahl der verschiedenen Werte: wenig/viel
\end{itemize}
\begin{enumerate}
\item sortiert mit wenigen verschiedenen Werten:\\
organisiert in einem B-Baum mit
\begin{itemize}
\item dichter Packung $\rightarrow$ alle Seiten voll (keine Änderungen!)
\item und großen Seiten $\rightarrow$ geringe Höhe
\end{itemize}
\item unsortiert mit wenigen verschiedenen Werten:\\
Offset-Indexe: B-Baum für Abbildung von Positiionen in einer Spalte auf die Werte in dieser Spaltebegin
\item sortiert mit vielen verschiedenen Werten:\\
\begin{itemize}
\item B-Baum mit dichter Packung
\item Delta Codierung: Differenzen zum Vorgänger speichern
\end{itemize}
\item unsortiert mit vielen verschiedenen Werten
\begin{itemize}
\item unkomprimiert
\item B-Baum mit dichter Packung als sek. Organisation möglich
\end{itemize}
\end{enumerate}
\subsubsection{Ausführung von Anfragen}
\textbox{Schritte für Ausführung von Query:}{
\begin{enumerate}
\item Syntaxprüfung
\item gibt es die Relation und Attribute
\item wie heißt Datei zur Relation
\item was für eine Datei ist das - direkt oder schlüsselbasiert
\item gibt es passende Projektionen
\item wo liegen die Verbund Indizes
\item müssen Partitionen zusammgeführt werden
\end{enumerate}
}