169/212
\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}