StorageGRID WebscaleでのSwift REST APIの実装

クライアント アプリケーションは、SwiftのREST API呼び出しを使用してストレージ ノードやAPIゲートウェイ ノードに接続し、コンテナの作成やオブジェクトの格納と読み出しを行うことができます。これを利用して、OpenStack Swift向けに開発されたサービス指向アプリケーションを、StorageGRID Webscaleシステムで利用できるオンプレミスのオブジェクト ストレージに接続することができます。

Swiftオブジェクトの管理

StorageGRID Webscaleシステムに取り込まれたSwiftオブジェクトは、システムのアクティブな情報ライフサイクル管理(ILM)ポリシー内のILMルールによって管理されます。ILMルールとポリシーは、StorageGRID Webscaleシステムがオブジェクト データのコピーを作成および分散し、一定の期間にわたって管理する方法を決定します。たとえば、ILMルールを特定のSwiftコンテナ内のオブジェクトに適用し、複数のオブジェクト コピーを複数のデータ センターに一定年数保存するように指定できます。

グリッドのILMルールとポリシーによって、Swiftテナント アカウントのオブジェクトにどのような影響が生じるか把握する必要がある場合は、StorageGRID Webscale管理者にお問い合わせください。

競合するクライアント要求

競合するクライアント要求(2つのクライアントが同じキーに書き込む場合など)は、「latest-wins」ベースで解決されます。「latest-wins」評価は、Swiftクライアントが処理を開始するタイミングではなく、StorageGRID Webscaleシステムが特定の要求を完了したタイミングで行われます。

整合性の保証と制御

デフォルトでは、StorageGRID Webscaleは、新規作成されたオブジェクトにはリードアフターライト整合性を、オブジェクトの更新とHEAD処理には結果整合性を提供します。正常に完了したPUTに続くGETでは、新しく書き込まれたデータを読み取ることができます。既存のオブジェクトの上書き、メタデータの更新、および削除の整合性レベルは、結果整合性です。上書きは通常であれば数秒から数分で反映されますが、最大で15日かかることもあります。

StorageGRID Webscaleでは、コンテナごとに整合性を制御することもできます。アプリケーションでの必要に応じて、ストレージ ノード間およびサイト間でオブジェクトの可用性と整合性のトレードオフを行うために、整合性制御を変更できます。