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