検索
特集/連載

「POSIX」と「オブジェクトストレージ」の関係がなぜ問題なのかオブジェクトストレージとPOSIX【後編】

Amazon S3などで一般化したオブジェクトストレージは、POSIXを前提とする既存のアプリケーションと相性が悪い。POSIX準拠の有無がどう関係するのか。

Share
Tweet
LINE
Hatena

 ここ数十年、アプリケーションの大半はPOSIX準拠で作成されてきたが、世界は変わっている。Webやクラウドによって、データを保持する手法としてオブジェクトストレージが重要になっている。

 オブジェクトストレージにもメリットがある。POSIX準拠のシステムは拡張するにつれ煩雑になり、パフォーマンスのオーバーヘッドが増加する。オブジェクトストレージは適切にスケーリングされ、パフォーマンスは低下しない。

 だが今のところ、POSIX準拠を求める環境でオブジェクトストレージを扱うのは難しい。

POSIXとオブジェクトストレージの関係


iStock.com/ipuwadol

 オブジェクトストレージでは、読み取り、書き込み、削除などに全く異なるメソッドを使う。オブジェクトは、階層型ファイルシステムではなく一意の識別子を持つフラットな構造に格納される。POSIXのファイルシステムには数十種類の機能があるのに対し、オブジェクトストレージにはPUT(書き込み)、GET(読み取り)、DELETE、HEAD(メタデータを返す)など、数種類の機能しかない。

 オブジェクトストレージでは、オブジェクト内部のブロックやバイト列を取得することはできない。POSIXベースのシステムならば、データベース内のデータにアクセスすることも可能だ。

 従って、オブジェクトストレージはPOSIXストレージのようなアクセス制御も機能もない。オブジェクトストレージの一貫性は厳密なものではなく、「最終的には」保たれる程度のものだ。特に地理的に分散しているシステムや複数のバージョンが比較的長期にわたって複製されるシステムではそうなる。

 つまりオブジェクトストレージを直接使うためには、アプリケーションの多くを作り直す必要がある。

POSIXストレージとオブジェクトストレージの変換

 バックエンドでオブジェクトストレージを使いながらPOSIX準拠のファイルシステムへのアクセスを提供する製品やプロジェクトが幾つか登場している。

 こうした製品やプロジェクトは、オブジェクトベースのバルクストアにデータを格納し、POSIX準拠のアプリケーションがやりとりできるローカルファイルシステムにそのデータを移動する手法をベースとするものが多い。

 その例の一つが「S3QL」だ。これは、全てのデータをクラウドストレージに格納し、圧縮、重複排除、暗号化、スナップショットなどの機能を持つPOSIX準拠のファイルシステムをローカルドライブに提供する。

 オブジェクトベースのバルクストアの前面に高速なNVMe SSDのローカル作業ストレージを用意することで、アプリケーションが使うデータをオブジェクトストレージから提供するアプローチもある。Seagate Technologyのヘンリー・ニューマン氏(Government Solutions部門CTO:最高技術責任者)が主導する「mmap_obj」は、オブジェクトストレージに対するPOSIXフロントエンドを不要にする可能性がある。

 ニュージーランドのスタートアップ企業Nexustorage(訳注)の製品は、ローカルまたはクラウドのオブジェクトストレージにデータを一括保存し、用途に応じてPOSIX準拠の「Nexfs」ファイルシステムや「Amazon S3」のローカルストレージに階層化する。

訳注:意外に難しい「オブジェクトストレージへの簡単なアクセス」を解決参照。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る