186/212
\begin{frame}
  \frametitle{Optimistic Concurrency Control}

  \begin{block}{}
    Under \emph{optimistic concurrency control}, transactions proceed in \emph{three phases}:
    \begin{enumerate}
    \medskip
      \item \emph{Read phase:} \\[.5ex]
        Execute transaction, but do \emph{not} write data back to disk.
        Collect updates in the transaction's \emph{private workspace}.
    \medskip
      \item \emph{Validation phase:} \\[.5ex]
        When the transaction wants to \emph{commit},
        the DBMS test whether its execution was correct (only acceptable conflicts happened).
        If not, \emph{abort} the transaction.
    \medskip
      \item \emph{Write phase:}\\[.5ex] 
        Transfer data from private workspace into database.
    \end{enumerate}
  \end{block}
  Note: phases 2 and 3 are performed in a uninterruptible critical section
  (also called val-write phase).
\end{frame}