web-dev-qa-db-ja.com

IaaSオブジェクトストア(S3 / Azure Blobs)での重複排除とコスト削減

商用IaaSオブジェクトストア(S3、Azure Blobなど)は、重複データ(同一のファイル、またはファイルの一部)を格納するために何度も課金されることを避けますか?たとえば、15 TBツイートのデータセットがあり、チームの1人がコピーを作成してから、データにいくつかの変更を加えたいと考えています。30の料金が請求されますTBのストレージ?

これらの大きなオブジェクトストアで重複するチャンクを見つける、または大きなデータセットをインプレースで圧縮する良い方法はありますか?重複ファイルをある種のシンボリックリンクに置き換えることはできますか?

3
Jedi

ストレージプロバイダー(少なくともAWS、GoogleおよびMicrosoft)は、BLOBオブジェクトの重複排除や圧縮を行いません。これにより、予測できない遅延、ジッタの増加、およびRAM消費量の増加につながります。言うまでもなく、このようなシナリオで適切な課金戦略を実装することは不可能であり、複数のサーバー/可用性ゾーン間でオブジェクトを重複排除することは、技術的に大きな課題です。 。

あなたの側で圧縮を実装することができます。ハッシュテーブルなどを使用してミドルウェアを維持する必要があるため、重複排除はより困難です。

別のアプローチは、S3の代わりにEC2インスタンスで[〜#〜] zfs [〜#〜]を使用することです。 EBSボリュームを接続してZFSボリュームとしてマウントできます。ZFSには、圧縮と重複排除のための組み込み機能がありました。複数のEC2インスタンスでこれらのファイル/オブジェクトが必要な場合は、いつでもZFSをNFS共有としてエクスポートおよびインポートできます。繰り返しますが、重複排除には追加のRAMが必要になります

4
Sergey Kovalev

オンサイト重複排除を使用できます。これは、一部のバックアップソリューションVeeam、たとえば https://www.veeam)で実行できます。 com/hyper-v-vmware-backup-deduplication-compression.html 、重複排除されたデータをクラウドにプッシュして、ネットワーク帯域幅を節約します。特に、インタイムリカバリが重要な場合に役立ちます。

実稼働環境では非常に多くのVMが実行されており、VeeamとStarwindを使用しているので、同様のケースだと思います。他のソリューションもテストしました。 MSDPMとBackupExecですが、Veeamの方が良い結果を示しました。

4
Strepsils