真のrsyncがAmazonに適しているかどうかはわかりません。
私が理解しているように、標準のrsyncアルゴリズムは、クライアントがファイルの各ブロックのハッシュを計算し、サーバーがそのコピーのハッシュを計算し、それらのハッシュをクライアントに送信することを意味します。
多くのハッシュをインターネット経由で送信する必要があるという点でAmazonに2つの問題が発生し、Amazonのコストを増加させるすべてのハッシュを計算するために処理能力が必要になります。その機能には追加料金がかかります。
クローンについては、明らかにどこかにハッシュを保存しているので、どこかはクローンによって異なります。ハッシュをAmazonのファイルごとに個別のオブジェクトとして、またはAmazonに保存されたデータベースとして保存することも、ローカルおよびリモートに保存することもできます。
どちらの方法でもメリットとデメリットがあります。ハッシュが個々のファイルにリモートで保存されている場合、それらを継続的に取得するのはコストがかかる可能性があります。ハッシュがリモートでデータベースに保存されている場合、このデータベースが大きくなる可能性があり、ハッシュを継続的に取得および更新するとコストがかかる可能性があります。ハッシュがローカルに保存されている場合、これはコストの削減に役立ちますが、他の複雑さと問題をもたらします。
(もちろんAmazonには他のサービスがあるため、Amazon DBにデータベースを保持することは可能です)
例として、私は何年も前に1つの初期のrsyncクローンを試しました。これはAmazonの価格構造を考慮して書かれておらず、各ブロックのハッシュを取得するために大量のHTTP GETを発行していました。風船。
rsync + s3rsync + s3の代わりに重複+ s3を使用すると何が失われますか?
rsyncを使用すると、ソースファイルとバックアップファイルを比較していることがわかります。複製およびその他のクローンを使用すると、ソースファイルを、バックアップの実行時に取得されたハッシュと比較します。たとえば、ハッシュを再計算したり、ハッシュデータベースを更新したりせずに、S3に直接アクセスし、そのファイルの1つを置き換えることができます。