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

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

2022年04月13日 08時00分 公開
[Antony AdsheadComputer Weekly]

 ここ数十年、アプリケーションの大半は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」のローカルストレージに階層化する。

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

ITmedia マーケティング新着記事

news112.jpg

「インクルーシブマーケティング」実践のポイントは? ネオマーケティングが支援サービスを提供
ネオマーケティングは、インクルーシブマーケティングの実践に向けたサービスを開始した...

news135.jpg

Xが新規アカウントに課金するとユーザーはどれほど影響を受ける? そしてそれは本当にbot対策になるのか?
Xが新規利用者を対象に、課金制を導入する方針を表明した。botの排除が目的だというが、...

news095.jpg

Googleの次世代AIモデル「Gemini 1.5」を統合 コカ・コーラやロレアルにも信頼される「WPP Open」とは?
世界最大級の広告会社であるWPPはGoogle Cloudと協業を開始した。キャンペーンの最適化、...