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