4 ポイント 投稿者 GN⁺ 2024-11-26 | 1件のコメント | WhatsAppで共有
  • Amazon S3の新機能: 条件付き書き込み

    • Amazon S3は、オブジェクトが変更されていないかを評価したうえで更新を行う条件付き書き込みを実行できるようになりました。これにより、同一オブジェクトに対する同時書き込みの調整が可能になり、複数の同時書き込み元がオブジェクトの内容を把握しないまま意図せず上書きしてしまうことを防ぐのに役立ちます。

    • この機能は、S3汎用バケットとディレクトリバケットの両方で、オブジェクトのETagを指定した S3 PutObject または CompleteMultipartUpload API リクエストを通じて利用できます。

    • 条件付き書き込みは、複数のクライアントが共有データセットを同時に更新する分散アプリケーションの実装を簡素化します。HTTP if-none-match 条件付きヘッダーを使って、オブジェクト作成前にその存在を確認するのと同様に、クライアントは今後、APIリクエスト内の HTTP if-match ヘッダーでオブジェクトのETagを指定することで、条件付き書き込みチェックを実行できます。

    • S3は、オブジェクトのETagがAPIリクエストで指定された値と一致するかを評価したうえで書き込みを確定し、条件が満たされるまでクライアントがオブジェクトを上書きできないようにします。

    • この新しい条件付きヘッダーは、大規模分析、分散機械学習、その他の高度に並列化されたワークロードの効率改善に役立つ可能性があります。

    • この新しい条件付き書き込み機能は、すべてのAWSリージョンで追加料金なしで提供されます。AWS SDK、API、または CLI を使用して条件付き書き込みを実行できます。条件付き書き込みの詳細については、S3ユーザーガイドを参照できます。

1件のコメント

 
GN⁺ 2024-11-26
Hacker Newsの意見
  • Amazon S3に、条件付き書き込み操作を強制できる機能が追加された

    • S3でオブジェクト名がハッシュと一致することを強制する機能を望んでいた
    • これはコンテンツアドレス可能なストレージの構築に役立つ
  • Turbopuffer.comは、オブジェクトストレージ以外の依存関係を避けるため、これをデータベースで使ってきた

    • Google Cloud Storageで始めてから1年後にS3でもこの機能が使えるようになり、うれしい
  • 強力な一貫性によって、望んでいた機能の半分はすでに達成されていた

  • この機能がなぜ重要なのか理解しにくい人もいる

  • これはcompare-and-swapよりも、compare-and-setに近い

  • 読み取り後書き込み一貫性の保証と組み合わせると、オブジェクトストレージ上に増分追加専用ストレージを構築するための完璧な基盤になる

    • 複数の書き込み元がWALにアクセスする際の問題を解決する
  • Azure Blob Storageもe-tagと楽観的制御をサポートしている

    • AWSの機能とどう違うのか気になる人もいる
  • AWSのデフォルトのETagアルゴリズムが単なるMD5ハッシュである場合、MD5衝突によってオブジェクトデータが失敗する可能性があるのではないかと疑問視している

    • 異なるユーザー提供データが常に異なるETagを生成すると仮定する状況を考えている
  • Amazon S3のオープンソース実装であるMinIOは、ほぼ2年前からこの機能を提供していた

    • Amazonがようやく追いついた
  • s3fsのIfNoneMatch機能への反応として、この夏に新機能が追加された

    • この新機能がファイルシステム抽象化でどのように現れるのか気になる人もいる