• # Déduplication

    Posté par . En réponse au journal On vient de passer un seuil économique pour la sauvegarde en ligne !. Évalué à 1.

    Pour rebondir sur ce passage :

    Un autre point d'intérêt de la solution de sauvegarde "à la maison", c'est le fait qu'on puisse dédupliquer le contenu des sauvegardes permettant de diminuer sensiblement la quantité d'espace disque utilisée pour stocker des données qui sont redondantes. Par exemple, le système des sauvegardes hebdomadaires et mensuelles sur un espace disque dédupliqué consommera vraiment peu d'espace car les ratios de déduplication observés pour ce genre de sauvegardes qui stockent souvent la même chose à un delta près sont vraiment très bons (facteur de 1 à 10). Il existe maintenant de nombreux logiciels libres qui gère la déduplication (ZFS, Obnam, Attic, etc.).

    En effet, certains systèmes de fichier gèrent directement la "déduplication". Et encore, le terme est un peu vague et recouvre plusieurs concepts selon ce que tu décrivais.

    ZFS, pour celui que je connais, gère la déduplication à proprement parler (évite de stocker 2 blocs qui contiennent la même donnée). Mais en pratique les perfs sont abyssales et il est fortement recommandé de ne pas utiliser cette fonctionnalité.

    À contrario, des fonctionnalités incroyablement pratiques et puissantes sont comme tu disais les snapshots qui permettent des sauvegardes différentielles et des restaurations très rapides.

    Même si l'API des services tels que S3 et Google Cloud Storage ne le permet pas de base, on peut se servir d'une couche logicielle intermédiaire pour recréer ces fonctionnalités avancées.
    Il y a par exemple le programme S3QL, dont la doc mentionne notamment : "Transparency, Dynamic Size, Compression, Encryption, Data De-duplication, Immutable Trees, Copy-on-Write/Snapshotting".
    Évidemment il y a des contraintes (nœud de passage obligé pour les transferts de données, dépendance à un logiciel, etc).
    Et surtout il faut faire gaffe à la garantie qu'offre le fournisseur cloud en terme de "consistency" : Amazon S3 dans la zone US est connue pour se comporter en "eventual consistency", au contraire des autres régions ou bien de Google Cloud Storage qui est (quasiment) complètement "immediate consistency".

    Au-delà d'applications telles que S3QL qui masquent complètement le service cloud sous-jacent, j'ai l'idée qui me trotte dans la tête de concevoir un proxy HTTP qui prendrait en charge toutes ces opérations de compression, snapshot, etc.
    J'ai cherché partout sur Internet mais je n'ai rien trouvé qui s'en approche...