From 15f224941b7681903051ed38ce40dbd0780931e4 Mon Sep 17 00:00:00 2001 From: Christian Bay Date: Wed, 12 Feb 2014 11:41:27 +0100 Subject: [PATCH] Kap 9: Speicherung fertig --- Speicherung.tex | 52 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/Speicherung.tex b/Speicherung.tex index 46f5d4b..49875b0 100644 --- a/Speicherung.tex +++ b/Speicherung.tex @@ -52,7 +52,11 @@ und \textbf{direkt} auf die Felder zugreifen. \caption{Variable Satz Speicherstruktur} \end{center} \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} \subsubsection{Spaltenweise Speicherung (C-Store)} \begin{itemize} @@ -63,19 +67,59 @@ und \textbf{direkt} auf die Felder zugreifen. \end{itemize} \textbf{Prototyp} \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 Speicherung \begin{itemize} \item \textbf{Schreibspeicher} für schnelles Einfügen und Ändern von Tupeln \item \textbf{Lesespeicher} für umfangreiche Analysen \end{itemize} - \item Änderung durch Löschen und Einfügen + \item Änderung durch Löschen und Einfügen durch Tuple Mover \end{itemize} \textbf{Projektionen} \begin{itemize} \item Die Projektionen besitzen ein oder mehrere Attribute aus einer logischen Tablle (ggf durch Fremdschlüssel auch Attribute aus anderen Tabellen) \item Duplikate bleiben erhalten - \item Als Sortierschlüssel wird eines der Attribute hergenohmen + \item Als Sortierschlüssel wird eines der Attribute hergenommen \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} +}