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