整合性レベルの Read-after-new-write と Available の違いは何ですか?
環境
NetApp StorageGRID
回答
警告 バケット整合性を「available」に設定すると、原因 ユーザデータに不整合が生じる可能性があるため、ONTAP FabricPool では推奨されません。 |
11.5.0.3 より前のリリースの場合:
available ( HEAD 処理は結果整合性)は read-after-new-write 整合性レベルと動作は同じですが、 HEAD 処理については結果整合性のみ提供されます。ストレージノードを使用できない場合に、 HEAD 処理に対して read-after-new-write よりも高い可用性が提供されます。Amazon S3 の整合性と異なるのは HEAD 処理のみです。
11.5.0.3 以降のリリースの場合:
注: 11.5.0.3 以降、存在しない GET については、バケットの整合性が Available に設定されている場合に 404 を HEAD に返すように変更されました
read-after-new-write 整合性レベルと動作は同じですが、 HEAD 処理と GET 処理については結果整合性を提供します。ストレージノードを使用できない場合に、 HEAD 処理と GET 処理に対して read-after-new-write 処理よりも高い可用性が提供されます。Amazon S3 の整合性とは異なり、 HEAD 処理と GET 処理は保証されません。
追加情報
11.5 以降では、 1 つ以上のアプリケーションが指標経由で存在しない読み取りを実行しているかどうかを確認できます。この指標が存在しない読み取りが頻繁に(数分に 1 回など)使用されていることを示している場合、 1 つのノードがダウンしても許容できるように、 Read-after-new-write から Available に変更する必要があることを推奨します。この要件は、アプリケーションがリードアフターライト整合性を必要としないことを前提としています。存在しない読み取りを実行している正確なバケットまたはテナントを特定するには、指標にバケット / テナント情報が含まれていないため、アプリケーション所有者とのさらなるログ分析または議論が必要です。
storagegrid_s3_requests_total{operation=~"get_object|head_object",code="404"}