Speicherung
This commit is contained in:
parent
629f8c85c0
commit
7f4d4cb5c7
Binary file not shown.
@ -276,4 +276,32 @@
|
|||||||
\item \begriff{Dauerhaftigkeit} (auch nach Fehler bleiben erfolgreiche Transaktionen bestehen)
|
\item \begriff{Dauerhaftigkeit} (auch nach Fehler bleiben erfolgreiche Transaktionen bestehen)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\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}
|
\end{document}
|
Loading…
Reference in New Issue
Block a user