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