aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2020-12-01 17:42:13 +0100
committerAlex Auvolat <alex@adnab.me>2020-12-01 17:42:13 +0100
commitf844d4ee9b37a3d65a69e8dbd52e792704edf39e (patch)
tree9eda275dbcde22e71fae572e0130d147722233b4
parent7642229d54fa6d94566dd06fcfdcaf1728880bdd (diff)
downloadgarage-f844d4ee9b37a3d65a69e8dbd52e792704edf39e.tar.gz
garage-f844d4ee9b37a3d65a69e8dbd52e792704edf39e.zip
Add slide on consistency
-rw-r--r--doc/20201202_talk/talk.pdfbin801650 -> 815667 bytes
-rw-r--r--doc/20201202_talk/talk.tex50
2 files changed, 30 insertions, 20 deletions
diff --git a/doc/20201202_talk/talk.pdf b/doc/20201202_talk/talk.pdf
index a6280903..b27eca29 100644
--- a/doc/20201202_talk/talk.pdf
+++ b/doc/20201202_talk/talk.pdf
Binary files differ
diff --git a/doc/20201202_talk/talk.tex b/doc/20201202_talk/talk.tex
index c9aecba2..1acda842 100644
--- a/doc/20201202_talk/talk.tex
+++ b/doc/20201202_talk/talk.tex
@@ -168,18 +168,10 @@
\centering
- \only<1>{
- \includegraphics[width=.55\columnwidth]{img/consistent_hashing_1.pdf}
- }
- \only<2>{
- \includegraphics[width=.55\columnwidth]{img/consistent_hashing_2.pdf}
- }
- \only<3>{
- \includegraphics[width=.55\columnwidth]{img/consistent_hashing_3.pdf}
- }
- \only<4>{
- \includegraphics[width=.55\columnwidth]{img/consistent_hashing_4.pdf}
- }
+ \only<1>{\includegraphics[width=.55\columnwidth]{img/consistent_hashing_1.pdf}}%
+ \only<2>{\includegraphics[width=.55\columnwidth]{img/consistent_hashing_2.pdf}}%
+ \only<3>{\includegraphics[width=.55\columnwidth]{img/consistent_hashing_3.pdf}}%
+ \only<4>{\includegraphics[width=.55\columnwidth]{img/consistent_hashing_4.pdf}}%
\end{frame}
\begin{frame}
@@ -189,12 +181,31 @@
\end{frame}
\begin{frame}
- \frametitle{Rust : retour d'expérience}
+ \frametitle{Modèles de cohérence}
+ Garage utilise un modèle de cohérence relativement faible :
+ \vspace{1em}
- Garage est entièrement écrit en Rust !
+ \begin{itemize}
+ \item Objets répliqués 3 fois, quorum de 2 pour les lectures et les écritures\\
+ $\to$ cohérence \textbf{``read your writes''}
+ \vspace{1em}
+ \item<2-> Types de donnée CRDT + mécanisme d'anti-entropie\\
+ $\to$ cohérence \textbf{à terme} (eventual consistency)
+ \vspace{1em}
+ \item<3-> Cela s'applique pour chaque fichier individuellement :\\
+ pas de linéarisabilté ou de cohérence causale entre les opérations\\
+ sur des fichiers différents
+ \vspace{1em}
+ \item<4-> \textbf{Avantage :} convient bien à un déploiement géodistribué (multi-datacenter)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Rust : retour d'expérience}
\begin{columns}
- \begin{column}{0.5\textwidth}
+ \begin{column}{0.55\textwidth}
+ Garage est entièrement écrit en Rust !
\vspace{2em}
\textbf{Points forts :}
@@ -209,17 +220,15 @@
\vspace{.5em}
\item Un écosytème de librairies très complet:
serialisation, async/await, http, ...
- \vspace{.5em}
\end{itemize}
-
\end{column}
- \begin{column}{0.5\textwidth}
+ \begin{column}{0.45\textwidth}
\begin{centering}
- \includegraphics[width=0.55\columnwidth]{img/rustacean-flat-happy.png}
+ \hspace{2em}\includegraphics[width=0.55\columnwidth]{img/rustacean-flat-happy.png}
\end{centering}
- \vspace{1em}
+ \vspace{2em}
\textbf{Points faibles :}
\vspace{.5em}
\begin{itemize}
@@ -227,6 +236,7 @@
\vspace{.5em}
\item Compliqué à apprendre
\end{itemize}
+ \vspace{2em}
\end{column}
\end{columns}