From b662137a2e0829a6fb09577c82c0ecd9e51e20ea Mon Sep 17 00:00:00 2001
From: n-peugnet <n.peugnet@free.fr>
Date: Wed, 10 Nov 2021 17:31:21 +0100
Subject: export, reorga + ajout par compression en commun

---
 pdf/doc.tex | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

(limited to 'pdf/doc.tex')

diff --git a/pdf/doc.tex b/pdf/doc.tex
index 26e3253..bbae228 100644
--- a/pdf/doc.tex
+++ b/pdf/doc.tex
@@ -692,6 +692,17 @@ on fait démarrer ces deux segments chacun à une extrémité du DNA-Drive
 et on les laisse grandir l'un vers l'autre,
 à la manière de la \emph{pile} et du \emph{tas} d'un processus.
 
+Contrairement à la manière dont ils sont stockés dans le repo,
+lors de l'export, les chunks ne sont pas compressés indépendamment,
+mais tous ensembles, par version.
+De cette manière on réduit encore l'espace occupé par les chunks,
+car l'algorithme de compression n'a pas à réécrire plusieurs fois son header
+et peut réutiliser les motifs de répétition trouvés dans un chunk
+à travers l'ensemble des chunks d'une version.
+Cette technique a pour inconvénient d'avoir besoin de décompresser (et donc lire)
+la totalité des chunks d'une version même si on ne veut en lire qu'un seul.
+
+
 \begin{figure}[ht]
 \centering
 
@@ -734,6 +745,11 @@ De la même manière qu'il serait impossible de savoir
 à quel fichier appartient une donnée sans la liste de fichiers,
 il serait impossible sans ces informations, de savoir
 à quelle version et à quel segment de données appartient une track.
+Le header d'une version ne comptant que trois valeurs numériques, il ne remplira jamais une track.
+Pour éviter de gâcher l'espace restant des tracks de version,
+DNA-Backup le remplit avec le contenu des segments de métadonnées (\verb|recipe| + \verb|files|)
+jusqu'à ce qu'il soit plein ou que toutes les métadonnées aient été écrites.
+S'il reste encore des métadonnées, elles sont écrites à l'endroit prévu initialement.
 
 En ce qui concerne les métadonnées du repo,
 un \emph{superblock} serait ajouté dans la toute première track du premier pool.
@@ -741,12 +757,6 @@ Celui-ci contiendrait les valeurs des paramètres de DNA-Backup,
 à savoir principalement la taille des chunks, mais aussi les paramètres de la fonction de sketch,
 l'algorithme utilisé pour la compression utilisé, celui pour les deltas,~etc.
 
-Le header d'une version ne comptant que trois valeurs numériques, il ne remplira jamais une track.
-Pour éviter de gâcher l'espace restant des tracks de version,
-DNA-Backup le remplit avec le contenu des segments de métadonnées (\verb|recipe| + \verb|files|)
-jusqu'à ce qu'il soit plein ou que toutes les métadonnées aient été écrites.
-S'il reste encore des métadonnées, elles sont écrites à l'endroit prévu initialement.
-
 L'export est actuellement réalisé dans un dossier, dans lequel 96~fichiers
 représentant chacun un pool sont créés et remplis avec les données du repo.
 Les écritures sont alignées sur la taille du track, laquelle est configurable.
-- 
cgit v1.2.3

