Je ne suis pas sûr que la vraie rsync convienne parfaitement à Amazon.
D'après ce que je comprends, l'algorithme standard rsync signifie que le client calcule les hachages pour chaque bloc d'un fichier et que le serveur calcule les hachages pour sa copie et les envoie au client, ce qui signifie que le client peut déterminer quels blocs ont été modifiés et doivent être téléchargés.
Cela pose deux problèmes à Amazon en ce sens qu’un grand nombre de hachages doivent être envoyés sur Internet et qu’il faut également une puissance de traitement pour calculer tous ces hachages qui augmenteraient les coûts d’Amazon - ce qui explique probablement pourquoi ils la confient à des fournisseurs tiers qui peuvent le faire. frais supplémentaires pour cette fonctionnalité.
Quant aux clones, ils stockent évidemment les hachages quelque part et l’emplacement peut varier en fonction du clone. Il leur serait possible de stocker les hachages sous forme d'objet distinct par fichier sur Amazon ou sous forme de base de données stockée sur Amazon, ou de les stocker localement et à distance.
Cela présente des avantages et des inconvénients. Si les hachages sont stockés à distance dans des fichiers individuels, il peut être coûteux de les récupérer en permanence. Si les hachages sont stockés à distance dans une base de données, cette base de données peut devenir volumineuse et il peut être coûteux de les extraire et de les mettre à jour en permanence. Si les hachages sont stockés localement, cela contribue à réduire les coûts, mais introduit d'autres complications et problèmes.
(Bien entendu, Amazon dispose d'autres services, il serait donc possible de conserver une base de données dans Amazon DB)
Par exemple, j'ai essayé un clone rsync précoce il y a plusieurs années. Cela n’était pas écrit pour tenir compte de la structure de prix d’Amazon et émettait beaucoup d’objets http pour récupérer le hachage de chaque bloc et, comme Amazon facturait chaque get, cela signifiait que, même si la partie stockage de ma facture était en forte baisse, la partie transfert en ballon.
Qu'est-ce que je perds en utilisant duplicity + s3 au lieu de rsync + s3rsync + s3?
Vous perdez le fait qu'avec rsync, vous savez que vous comparez les fichiers source avec vos fichiers de sauvegarde. Avec la duplicité et d’autres clones, vous comparez vos fichiers source avec un hachage qui a été utilisé lors de la sauvegarde. Par exemple, il peut être possible d'accéder directement à S3 et de remplacer l'un de ses fichiers sans recalculer le hachage ni mettre à jour la base de données de hachage.