Non sono sicuro che il vero rsync sia adatto ad Amazon.
A quanto ho capito, l'algoritmo rsync standard significa che il client calcola gli hash per ogni blocco di un file e il server calcola gli hash per la sua copia e invia quegli hash al client, il che significa che il client può determinare quali blocchi sono stati modificati e devono essere caricati.
Ciò causa due problemi per Amazon in quanto molti hash devono essere inviati via Internet e ci vuole anche potenza di elaborazione per calcolare tutti quegli hash che aumenterebbero i costi di Amazon - motivo per cui probabilmente lo lasciano a fornitori terzi che possono addebito extra per quella funzione.
Per quanto riguarda i cloni, stanno ovviamente memorizzando gli hash da qualche parte e da qualche parte possono variare a seconda del clone. Sarebbe possibile per loro archiviare gli hash come oggetto separato per file su Amazon o come database archiviato su Amazon oppure potrebbero memorizzarli localmente e in remoto.
Ci sono vantaggi e svantaggi di farlo in entrambi i modi. Se gli hash vengono archiviati in remoto in singoli file, può essere costoso recuperarli continuamente. Se gli hash sono archiviati in remoto in un database, questo database può diventare grande e può essere costoso recuperarli e aggiornarli continuamente. Se gli hash vengono archiviati localmente, ciò aiuta a ridurre i costi, ma introduce altre complicazioni e problemi.
(Naturalmente Amazon ha altri servizi, quindi sarebbe possibile mantenere un database in Amazon DB)
Ad esempio, ho provato molti anni fa un clone rsync. Questo non è stato scritto per tenere conto della struttura dei prezzi di Amazon e stava emettendo un sacco di http per recuperare l'hash di ciascun blocco e poiché Amazon addebita per ogni blocco, ciò significa che mentre la parte di archiviazione della mia fattura è diminuita drasticamente, la parte di trasferimento gonfiato.
Cosa perdo usando duplicity + s3 invece di rsync + s3rsync + s3?
Perdi il fatto che con rsync sai che stai confrontando i file di origine con i tuoi file di backup. Con la duplicità e altri cloni, si stanno confrontando i file di origine con un hash acquisito durante l'esecuzione del backup. Ad esempio, potrebbe essere possibile accedere direttamente a S3 e sostituire uno dei suoi file senza ricalcolare l'hash o aggiornare il database di hash.