Déduplication
Déduplication (en anglais deduplication) : technique de stockage qui ne conserve qu'une seule fois un même morceau de données, où qu'il apparaisse, et le référence partout où il se répète.
Les outils de sauvegarde comme restic et BorgBackup s'en servent pour remplacer le schéma complet plus incrémentales : chaque sauvegarde est logiquement complète et se restaure seule, mais seuls les morceaux nouveaux sont envoyés. restic découpe chaque fichier selon son contenu (une empreinte de Rabin sur une fenêtre glissante choisit les frontières, pour des morceaux de 512 Kio à 8 Mio, 1 Mio en moyenne), nomme chaque morceau par son empreinte SHA-256 et ne renvoie pas un morceau déjà présent dans l'index. Insérer un octet au début d'un fichier ne déplace que les frontières voisines, là où un découpage en blocs fixes décalerait tout. rsync --link-dest ne déduplique qu'au niveau du fichier entier, par liens physiques.
Le revers : un morceau corrompu touche toutes les sauvegardes qui le référencent, d'où des vérifications régulières (restic check, avec lecture d'un échantillon des données). Côté sécurité, un dépôt commun à plusieurs machines déduplique mieux, mais une machine compromise peut alors lire les données des autres : on sépare les dépôts selon la sensibilité. Pour copier un dépôt sans perdre la déduplication, la cible s'initialise avec les mêmes paramètres de découpage (restic init --copy-chunker-params).