Speicherung angefangen. Bilderordner sortiert.

This commit is contained in:
Christian Bay 2014-02-11 20:28:21 +01:00
parent 1b13dcb525
commit c9f7e3a4b1
10 changed files with 89 additions and 6 deletions

2
.gitignore vendored
View File

@ -1,4 +1,6 @@
*.fls
*.lof
*.swp*
*.pdf
*.aux
*.out

View File

@ -60,6 +60,7 @@
\begin{document}
\tableofcontents
\listoffigures
\newpage
\include{./Speicherung}
\include{./Transaktionen}

View File

@ -1 +1,81 @@
\section{Speicherung}
\section{Speicherung von Tupeln und Relationen}
\subsection{Ziele}
\begin{itemize}
\item Relationen mit Mitteln der darunter implementierten Schichten sichern
\item Anfragen (SQL) möglichst effizient auswerten
\end{itemize}
\subsection{Speicherung von Tupeln in Sätzen}
\subsubsection{Aufbau von Sätzen}
\begin{itemize}
\item Sätze sind aus \textbf{Feldern} zusammengesetzt (Name, Typ, Länge)
\item \textbf{Systemkatalog}\\Informationen über Felder und Reihenfolge
\end{itemize}
\subsubsection{Satztyp}
\begin{itemize}
\item Menge von Sätzen mit gleicher Struktur $\rightarrow$ einmalige
Beschreibung im Systemkatalog
\item beim speichern eines Satzes wird im ein Satztyp zugeordnet
\item Länge der Sätze zumeist variabel
\end{itemize}
\textbf{Annahme: Reihenfolge der Felder egal}
\subsubsection{Anforderungen}
\textbf{Speicherplatzeffizienz}:
\begin{itemize}
\item variable Länge
\item undefinierte Werte nicht speichern
\item Hilfsstrukturen minimieren
\end{itemize}
\textbf{direkter Zugriff auf Felder}:
\begin{itemize}
\item ohne vorher andere Felder lesen zu müssen
\item direkt zur Anfangs-Byte Position innerhalb des Satzes
\end{itemize}
\textbf{Flexibilität}:
\begin{itemize}
\item Hinzufügen von Feldern bei allen Sätzen
\item Löschen eines Feldes aus allen Sätzen
\end{itemize}
\subsubsection{Speicherungsstruktur im Satz}
Der Satz wird in zwei logische Teile untergliedert. Einer beinhaltet
alle Felder fester Länge und der andere alle der variablen.
Mit Katalogdaten und Längenangaben im Satz, lässt sich \textbf{flexibel}
und \textbf{direkt} auf die Felder zugreifen.
\begin{figure}[H]
\begin{center}
\includegraphics[scale=1.0]{pics/satz_speicherstruktur.png}
\caption{Variable Satz Speicherstruktur}
\end{center}
\end{figure}
\subsection{Speicherung von Relationen}
\subsubsection{Spaltenweise Speicherung (C-Store)}
\begin{itemize}
\item Auf das Lesen hin optimiert. Gut für Auswertung
großer Datenmengen
\item Nur Attribute lesen, die gebraucht werden
\item kompakte Speicherung der Attributwerte
\end{itemize}
\textbf{Prototyp}
\begin{itemize}
\item speichert Sammlung von Spaltengruppen nach Attribut sortiert
\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
\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
\end{itemize}

View File

@ -35,7 +35,7 @@ Bedingungen sind erfüllt (Assertions).
\subsubsection{Zustandsdiagramm TA}
\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.6]{TA_status.png}
\includegraphics[scale=0.6]{pics/TA_status.png}
\caption{Transaktionszustände}
\end{center}
\end{figure}
@ -91,7 +91,7 @@ Warum nicht Tupel:
Deshalb wird \textit{hierarchische Schachtelung} der Datenobjekte:\\
\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.8]{sperrgranulat.png}
\includegraphics[scale=0.8]{pics/sperrgranulat.png}
\caption{Sperrgranulate}
\end{center}
\end{figure}
@ -100,7 +100,7 @@ Für jedes Objekt kann man nun einen Sperrmodus vergeben.
Andere TA können daran erkennen, ob sie ihre Aktion ausführen dürfen.
\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.6]{komp_matrix.png}
\includegraphics[scale=0.6]{pics/komp_matrix.png}
\caption{Kompatibilitätsmatrix}
\end{center}
\end{figure}
@ -240,7 +240,7 @@ benötigt wird, um nach einem Systemausfall den jüngsten konsisten Zustand
wiederherzustellen.
\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.6]{protokoll2.png}
\includegraphics[scale=0.6]{pics/protokoll2.png}
\caption{Protokollinformationen}
\end{center}
\end{figure}
@ -283,7 +283,7 @@ wiederherzustellen.
Verbesserung zu Backward-/Forward Recovery.
\begin{figure}[H]
\begin{center}
\includegraphics[scale=0.8]{protokoll.png}
\includegraphics[scale=0.8]{pics/protokoll.png}
\caption{Physische Protokollierung}
\end{center}
\end{figure}

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB