200/212
\begin{frame}
  \frametitle{Multiversion Concurrency Control: Snapshot Isolation}
  
  \begin{alertblock}{}
    Disadvantages:
    \begin{itemize}
      \item versioning requires \emph{space} and \emph{management overhead}
      \item update transactions still need concurrency control! 
    \end{itemize} 
  \end{alertblock}  
  
  \begin{alertblock}{}
    Snapshot isolation does not guarantee serializability! But
    \begin{itemize}
      \item the anomalies 
        \begin{itemize}
          \item dirty read,
          \item unrepeatable read, 
          \item phantom rows
        \end{itemize}
        do not occur.
      \item however, \alert{write skew} occurs!
    \end{itemize}
  \end{alertblock}
  \pause
  
  Snapshot isolation is used in the Oracle SQL Server.\\ (Oracle has no real serializability).
\end{frame}