\begin{frame}
\frametitle{Granularity of Locking}
\begin{goal}{The granularity of locking is a trade-off}
\begin{center}
\begin{tikzpicture}
\begin{scope}[node distance=15mm]
\node (db) {database level};
% \node (ts) [below of=db] {tablespace level};
\node (t) [below of=db] {table level};
% \node (p) [below of=t] {page level};
\node (r) [below of=t] {row level};
\end{scope}
\begin{scope}[node distance=35mm]
\node (lc) [right of=db] {low concurrency};
\node (lo) [right of=lc] {low overhead};
\node (hc) [right of=r] {high concurrency};
\node (ho) [right of=hc] {high overhead};
\end{scope}
\begin{scope}[->,very thick]
\draw (db) -- (t);
% \draw (t) -- (p);
% \draw (p) -- (r);
\draw (t) -- (r);
\end{scope}
\begin{scope}
\draw[draw=red,fill=red!10] ($(lc)+(-2mm,-5mm)$) -- ($(hc)+(-6mm,10mm)$) -- ($(hc)+(-10mm,10mm)$) -- ($(hc)+(0mm,5mm)$) -- ($(hc)+(10mm,10mm)$) -- ($(hc)+(6mm,10mm)$) -- ($(lc)+(2mm,-5mm)$) -- cycle;
\draw[draw=red,fill=red!10] ($(lo)+(-2mm,-5mm)$) -- ($(ho)+(-6mm,10mm)$) -- ($(ho)+(-10mm,10mm)$) -- ($(ho)+(0mm,5mm)$) -- ($(ho)+(10mm,10mm)$) -- ($(ho)+(6mm,10mm)$) -- ($(lo)+(2mm,-5mm)$) -- cycle;
\end{scope}
\end{tikzpicture}
\end{center}
\end{goal}
\medskip
Idea: multi-granularity locking\ldots
\end{frame}