\begin{frame}
\frametitle{Isolation Levels}
\begin{goal}{}
\emph{Some} degree of \emph{inconsistency} may be acceptable for specific applications to gain \emph{increased concurrency \& performance}.
\end{goal}
% \begin{itemize}
% \pause
% \item E.g. occasional ``off-by-one errors'' will not considerably affect the outcome
% of an aggregation over a huge table.
% \pause
E.g.\ accept inconsistent read anomaly and be rewarded with improved concurrency.
Relaxed consistency guarantees can lead to increased throughput!
% \end{itemize}
\pause\medskip
\begin{goal}{SQL-92 Isolation Levels \& Consistency Guarantees}
{\footnotesize
\begin{tabular}{l|ccc}
\emph{isolation level} & \emph{dirty read} & \emph{non-repeat. read} & \emph{phantom rows}\ \\[1ex]
\hline\\[-1ex]
\sql{read uncommitted} & possible & possible & possible \\[1ex]
\sql{read committed} & \emph{not possible} & possible & possible \\[1ex]
\sql{repeatable read} & \emph{not possible} & \emph{not possible} & possible \\[1ex]
\sql{serializable} & \emph{not possible} & \emph{not possible} & \emph{not possible}
\end{tabular}}
\end{goal}
\pause
Different DBMS support different levels of isolation.
\end{frame}