Skip to content

Commit

Permalink
Merge pull request 'prez-ocp' (#636) from prez-ocp into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexis211 committed Sep 21, 2023
2 parents be1a16b + 95ae099 commit 3a0e074
Show file tree
Hide file tree
Showing 75 changed files with 19,773 additions and 0 deletions.
Binary file added doc/sticker/Garage.pdf
Binary file not shown.
Binary file added doc/sticker/Garage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/sticker/Garage_NGI.pdf
Binary file not shown.
1 change: 1 addition & 0 deletions doc/talks/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.direnv/
17 changes: 17 additions & 0 deletions doc/talks/2023-09-20-ocp/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
*

!*.txt
!*.md

!assets

!.gitignore
!*.svg
!*.png
!*.jpg
!*.tex
!Makefile
!.gitignore
!assets/*.drawio.pdf

!talk.pdf
34 changes: 34 additions & 0 deletions doc/talks/2023-09-20-ocp/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
ASSETS=assets/consistent_hashing_1.pdf \
assets/consistent_hashing_2.pdf \
assets/consistent_hashing_3.pdf \
assets/consistent_hashing_4.pdf \
assets/garage_tables.pdf \
assets/consensus.pdf_tex \
assets/lattice1.pdf_tex \
assets/lattice2.pdf_tex \
assets/lattice3.pdf_tex \
assets/lattice4.pdf_tex \
assets/lattice5.pdf_tex \
assets/lattice6.pdf_tex \
assets/lattice7.pdf_tex \
assets/lattice8.pdf_tex \
assets/latticeB_1.pdf_tex \
assets/latticeB_2.pdf_tex \
assets/latticeB_3.pdf_tex \
assets/latticeB_4.pdf_tex \
assets/latticeB_5.pdf_tex \
assets/latticeB_6.pdf_tex \
assets/latticeB_7.pdf_tex \
assets/latticeB_8.pdf_tex \
assets/latticeB_9.pdf_tex \
assets/latticeB_10.pdf_tex \
assets/deuxfleurs.pdf

talk.pdf: talk.tex $(ASSETS)
pdflatex talk.tex

assets/%.pdf: assets/%.svg
inkscape -D -z --file=$^ --export-pdf=$@

assets/%.pdf_tex: assets/%.svg
inkscape -D -z --file=$^ --export-pdf=$@ --export-latex
39 changes: 39 additions & 0 deletions doc/talks/2023-09-20-ocp/abstract.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
### (fr) Garage, un système de stockage de données géo-distribué léger et robuste

Garage est un système de stockage de données léger, géo-distribué, qui
implémente le protocole de stockage S3 de Amazon. Garage est destiné
principalement à l'auto-hébergement sur du matériel courant d'occasion. À ce
titre, il doit tolérer un grand nombre de pannes: coupures de courant, coupures
de connexion Internet, pannes de machines, ... Il doit également être facile à
déployer et à maintenir, afin de pouvoir être facilement utilisé par des
amateurs ou des petites organisations.

Cette présentation vous proposera un aperçu de Garage et du choix technique
principal qui rend un système comme Garage possible: le refus d'utiliser des
algorithmes de consensus, remplacés avantageusement par des méthodes à
cohérence faible. Notre modèle est fortement inspiré de la base de donnée
Dynamo (DeCandia et al, 2007), et fait usage des types de données CRDT (Shapiro
et al, 2011). Nous exploreront comment ces méthodes s'appliquent à la
construction de l'abstraction "stockage objet" dans un système distribué, et
quelles autres abstractions peuvent ou ne peuvent pas être construites dans ce
modèle.

### (en) Garage, a lightweight and robust geo-distributed data storage system

Garage is a lightweight geo-distributed data store that implements the Amazon
S3 object storage protocol. Garage is meant primarily for self-hosting at home
on second-hand commodity hardware, meaning it has to tolerate a wide variety of
failure scenarios such as power cuts, Internet disconnections and machine
crashes. It also has to be easy to deploy and maintain, so that hobbyists and
small organizations can use it without trouble.

This talk will present Garage and the key technical choice that made Garage
possible: refusing to use consensus algorithms and using instead weak
consistency methods, with a model that is loosely based on that of the Dynamo
database (DeCandia et al, 2007) and that makes heavy use of conflict-free
replicated data types (Shapiro et al, 2011). We will explore how these methods
are suited to building the "object store" abstraction in a distributed system,
and what other abstractions are possible or impossible to build in this model.



Binary file added doc/talks/2023-09-20-ocp/assets/AGPLv3_Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/talks/2023-09-20-ocp/assets/aerogramme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3a0e074

Please sign in to comment.