diff --git a/doc/20201202_talk/Makefile b/doc/20201202_talk/Makefile index 2bf9f2ac..27dbf788 100644 --- a/doc/20201202_talk/Makefile +++ b/doc/20201202_talk/Makefile @@ -1,6 +1,6 @@ -talk.pdf: talk.tex img/garage_distributed.pdf img/consistent_hashing_1.pdf img/consistent_hashing_2.pdf img/consistent_hashing_3.pdf img/consistent_hashing_4.pdf +talk.pdf: talk.tex img/garage_distributed.pdf img/consistent_hashing_1.pdf img/consistent_hashing_2.pdf img/consistent_hashing_3.pdf img/consistent_hashing_4.pdf img/garage_tables.pdf pdflatex talk.tex img/%.pdf: img/%.svg - inkscape -D -z --file=$^ --export-pdf=$@ --export-latex + inkscape -D -z --file=$^ --export-pdf=$@ diff --git a/doc/20201202_talk/img/garage_tables.svg b/doc/20201202_talk/img/garage_tables.svg new file mode 100644 index 00000000..fc3d8fc5 --- /dev/null +++ b/doc/20201202_talk/img/garage_tables.svg @@ -0,0 +1,502 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + Object + + + + + + bucket + + + + + + file path + + + + + + Version 1 + deleted + + + + + + + Version 2 + id + + size + MIME type + ... + + + + + + Version + + id + h(block 1) + h(block 2) + ... + + + + + Data block + + hash + data + + + + Objects table + Versions table + Blocks table + + diff --git a/doc/20201202_talk/img/rustacean-flat-happy.png b/doc/20201202_talk/img/rustacean-flat-happy.png new file mode 100644 index 00000000..ebce1a14 Binary files /dev/null and b/doc/20201202_talk/img/rustacean-flat-happy.png differ diff --git a/doc/20201202_talk/talk.pdf b/doc/20201202_talk/talk.pdf index c31a1d9a..a6280903 100644 Binary files a/doc/20201202_talk/talk.pdf and b/doc/20201202_talk/talk.pdf differ diff --git a/doc/20201202_talk/talk.tex b/doc/20201202_talk/talk.tex index 4b8e76c3..c9aecba2 100644 --- a/doc/20201202_talk/talk.tex +++ b/doc/20201202_talk/talk.tex @@ -147,8 +147,7 @@ \textbf{Un système de stockage distribué} \vspace{1em} - \def\svgwidth{.7\columnwidth} - \input{img/garage_distributed.pdf_tex} + \includegraphics[width=.7\columnwidth]{img/garage_distributed.pdf} \end{column} \pause @@ -170,23 +169,69 @@ \centering \only<1>{ - \def\svgwidth{.55\columnwidth} - \input{img/consistent_hashing_1.pdf_tex} + \includegraphics[width=.55\columnwidth]{img/consistent_hashing_1.pdf} } \only<2>{ - \def\svgwidth{.55\columnwidth} - \input{img/consistent_hashing_2.pdf_tex} + \includegraphics[width=.55\columnwidth]{img/consistent_hashing_2.pdf} } \only<3>{ - \def\svgwidth{.55\columnwidth} - \input{img/consistent_hashing_3.pdf_tex} + \includegraphics[width=.55\columnwidth]{img/consistent_hashing_3.pdf} } \only<4>{ - \def\svgwidth{.55\columnwidth} - \input{img/consistent_hashing_4.pdf_tex} + \includegraphics[width=.55\columnwidth]{img/consistent_hashing_4.pdf} } \end{frame} +\begin{frame} + \frametitle{Garage Internals : 3 niveaux de consistent hashing} + \centering + \includegraphics[width=.85\columnwidth]{img/garage_tables.pdf} +\end{frame} + +\begin{frame} + \frametitle{Rust : retour d'expérience} + + Garage est entièrement écrit en Rust ! + + \begin{columns} + \begin{column}{0.5\textwidth} + \vspace{2em} + + \textbf{Points forts :} + \vspace{.5em} + \begin{itemize} + \item Langage compilé, très rapide + \vspace{.5em} + \item Typage fort, beaucoup de sécurités + \vspace{.5em} + \item Le meilleur de plusieurs paradigmes: + fonctionnel, orienté objet, impératif + \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{centering} + \includegraphics[width=0.55\columnwidth]{img/rustacean-flat-happy.png} + \end{centering} + + \vspace{1em} + \textbf{Points faibles :} + \vspace{.5em} + \begin{itemize} + \item Les temps de compilation... + \vspace{.5em} + \item Compliqué à apprendre + \end{itemize} + \end{column} + \end{columns} + +\end{frame} + \end{document} %% vim: set ts=4 sw=4 tw=0 noet spelllang=fr :