整合性

このページでは、Cloud Storage の強整合性のオペレーションと結果競合性のオペレーションについて説明します。キャッシュ可能な、一般公開されたオブジェクトの場合、オブジェクトに対するオペレーションの整合性のレベルは制御可能です。

強整合性のオペレーション

Cloud Storage の次のオペレーションでは、データとメタデータの両方を含め、グローバルな強整合性が確保されます。

  • read-after-write
  • read-after-metadata-update
  • read-after-delete
  • バケットの一覧表示
  • オブジェクトの一覧表示
  • ACL を使用したリソースへのアクセス権の付与

Cloud Storage にオブジェクトをアップロードし成功のレスポンスを受け取ると、オブジェクトは直ちに、Google がサービスを提供する任意のロケーションからのダウンロード オペレーションとメタデータ オペレーションの対象になります。これは、新しいオブジェクトを作成する場合でも、既存のオブジェクトを上書きする場合でも同じです。アップロードは強整合性なので、read-after-write または read-after-metadata-update オペレーションで 404 Not Found レスポンスや古いデータを受け取ることはありません。

さらに、アップロード リクエストが成功したということは、データが複数のデータセンターにレプリケートされたことを意味します。Cloud Storage のグローバルな整合性を持つ、レプリケート対象のストアへの書き込みレイテンシは、レプリケートされないストアまたは commit されないストアの場合よりもわずかに高くなる可能性があります。これは、成功のレスポンスが、1 つだけでなく複数の書き込みが完了した場合にのみ返されるためです。

グローバルな強整合性は、オブジェクトの削除オペレーションにも当てはまります。削除リクエストが成功した直後に、オブジェクトまたはそのメタデータをダウンロードしようとすると、404 Not Found ステータス コードが返されます。404 エラーが返されるのは、削除オペレーションが成功した後はオブジェクトがもう存在しないためです。

バケットの一覧表示は強整合性のオペレーションです。たとえば、バケットを作成した直後に list buckets オペレーションを行ったとしても、返されるバケットのリストには新しく作成されたバケットが表示されます。

オブジェクトの一覧表示も強整合性のオペレーションです。たとえば、オブジェクトをバケットにアップロードした直後に list objects オペレーションを行ったとしても、返されるオブジェクトのリストには新しくアップロードされたオブジェクトが表示されます。

バケットについては、read-after-metadata-update オペレーションでのメタデータの更新は強整合性ですが、オペレーションの結果である設定の変更が反映されるまでに時間がかかる場合があります。たとえば、バケットでオブジェクトのバージョニングを有効にした場合、オブジェクトの削除または上書きを行う前に 30 秒以上待つ必要があります。

結果整合性のオペレーション

以下のオペレーションでは結果整合性が確保されます。

通常、このオペレーションの結果が反映されるまでに約 1 分かかります。場合によっては、数分以上かかる場合もあります。

結果整合性によって発生する可能性がある動作の例を挙げると、バケットに対するユーザーのアクセス権を取り消した場合、この変更はバケットのメタデータにすぐに反映されますが、少しの間、そのユーザーがバケットにアクセスできる場合があります。

キャッシュ制御と整合性

一般公開され、キャッシュされたオブジェクトでは、強整合性が損なわれる可能性があります。オブジェクトのキャッシュ保存を許可すると、オブジェクトがキャッシュ内にある場合にそのオブジェクトを更新または削除しても、キャッシュされたオブジェクトはキャッシュの有効期間が満了するまで更新または削除されません。

オブジェクトのキャッシュ存続期間は、そのオブジェクトに関連付けられた Cache-Control メタデータによって定義されます。Cache-Control メタデータは、オブジェクトを最初にアップロードするときや、アップロード後にオブジェクトのメタデータを更新するときに、Cache-Control リクエスト ヘッダーを使用して設定できます。Cache-Control メタデータは制御可能であるため、キャッシュされたオブジェクトの整合性のレベルも制御できます。また、オブジェクトに対するリクエストには独自の Cache-Control ヘッダーを追加できますが、キャッシュされたコンテンツを回避するように設定されている場合、Cloud Storage はこれらのヘッダーを無視します。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。