diff --git a/zusammenfassung.pdf b/zusammenfassung.pdf index 5f49560..3f85181 100644 Binary files a/zusammenfassung.pdf and b/zusammenfassung.pdf differ diff --git a/zusammenfassung.tex b/zusammenfassung.tex index f60c077..986b331 100644 --- a/zusammenfassung.tex +++ b/zusammenfassung.tex @@ -276,4 +276,32 @@ \item \begriff{Dauerhaftigkeit} (auch nach Fehler bleiben erfolgreiche Transaktionen bestehen) \end{itemize} \end{itemize} + +\section{Speicherung} +\begin{itemize} + \item Speicherung der Tupel in Sätzen: \begin{itemize} + \item zusammengesetzt aus Feldern mit Namen, Typ und Länge (maximal oder variabel) + \item \begriff{Metadaten} in \begriff{Systemkatalog} gespeichert + \item \begriff{Satztyp}: Menge von Sätzen gleicher Struktur (z.B. Tupel einer Relation) + \end{itemize} + \item verschiedene \begriff{Speicherungsstrukturen} in Sätzen: \begin{itemize} + \item mit \begriff{eingebetteten Längenfeldern}: Gesamtlänge, Inhalt fester Länge, zu jedem Inhalt variabler Länge vorher die Länge $\rightarrow$ satzinterne Adresse kann \wichtig{nicht} direkt aus Katalogdaten berechnet werden + \item eingebettete Längenfelder mit \begriff{Zeigern}: Gesamtlänge, Länge des festen Teils, Inhalte fester Länge, Zeiger auf Längenangabe variabler Felder, variable Felder $\rightarrow$ satzinterne Adresse kann aus Katalogdaten berechnet werden \textbf{TODO:} Grafik + \end{itemize} + \item \begriff{spaltenweises} Abspeichern mittels \begriff{C-Store}: \begin{itemize} + \item vor allem auf das Lesen optimiert + \item Änderungen durch Löschen und Einfügen + \item \begriff{Projektion}: \begin{itemize} + \item eine oder mehrere Spalten einer Tabelle (und ggf. anderer, über Fremdschlüssel erreichbare Tabellen) nach einem Attribut sortiert + \item Speicherschlüssel (\begriff{Storage Keys}, \begriff{SK}) für jedes Tupel, aus Position berechenbar + \item \begriff{Verbund-Indizes} (\begriff{Join Indices}): Seien T1 und T2 Projektionen der Tabelle T, dann ist ein Join-Index von T1 zu T2 eine Liste von Tupeln aus T2 um den jeweiligen SK aus T1 ergänzt. + \end{itemize} + \item verschiedene \begriff{Komprimierungen} abhängig von Sortierung und Anzahl der verschiedenen Werte: \begin{itemize} + \item sortiert, wenige verschiedene Werte: Tripel (Wert, Position des ersten Auftretens, Anzahl des gleichen Werts) in B-Baum + \item unsortiert, wenige verschiedene Werte: lauflängenkodierte Bitmaps pro Wert mit B-Baum zum Auffinden der richtigen Bitmap + \item sortiert, viele verschiedene Werte: Delta-Kodierung (DIffertenz zum Vorgänger) mit B-Baum als Primärorganisation + \item unsortiert, viele verschiedene Werte: unkomprimiert, bei Zeichenketten \begriff{Dictionary} + \end{itemize} + \end{itemize} +\end{itemize} \end{document} \ No newline at end of file