StorageGRIDでのSwift REST APIの実装

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

Swiftオブジェクトの管理

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

グリッドのILMルールとポリシーがSwiftテナント アカウントのオブジェクトに与える影響については、StorageGRID管理者にお問い合わせください。

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

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

整合性の保証と制御

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

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