194/212
\begin{frame}
  \frametitle{Multiversion Concurrency Control}
  
  \begin{exampleblock}{Is this schedule serializable?}
  \begin{tcenter}
  \begin{tikzpicture}
    \schedule{}{2}{1rX|1wX|2rX|2wY|1rY|1wZ}
  \end{tikzpicture}
  \end{tcenter}
  \pause No
  \end{exampleblock}
  \pause\smallskip  
  
  \begin{goal}{}
  But what if we had a copy of the old values available?
  \end{goal}
  \pause  

  Then we could do:
  \begin{exampleblock}{Multi-version}
  \begin{tcenter}
  \begin{tikzpicture}
    \schedule{}{2}{1rX|1wX|2rX|2wY|1rY-old|1wZ}
  \end{tikzpicture}
  \end{tcenter}
  \pause
  This is can be serialised to:
  \smallskip
  
  \begin{tcenter}
  \begin{tikzpicture}
    \schedule{}{2}{1rX|1wX|1rY|1wZ|2rX|2wY}
  \end{tikzpicture}
  \end{tcenter}
  \end{exampleblock}
\end{frame}