Speicherung
This commit is contained in:
		
										
											Binary file not shown.
										
									
								
							@@ -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}
 | 
			
		||||
		Reference in New Issue
	
	Block a user