\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}