Jump to section

ファイルストレージ、ブロックストレージ、オブジェクトストレージの比較

URL をコピー

ファイル、ブロック、オブジェクトの各ストレージ形式ではデータを保持、整理、提示する方法が異なり、それぞれ固有の機能と制限があります。ファイルストレージはデータをフォルダー内のファイル階層として整理し、提示します。ブロックストレージはデータを任意の均等な大きさのボリュームにまとめて整理します。オブジェクトストレージはデータを管理し、関連付けられたメタデータにリンクします。

コンテナは柔軟性が高く、アプリケーションとストレージの提供方法に驚異的なスケールをもたらします。 

File storage

ファイルストレージは、ファイルレベルまたはファイルベース・ストレージとも呼ばれますが、その実体はご想像のとおりです。紙の書類をマニラフォルダーに整理するように、データはフォルダー内に情報の 1 ピースとして保存されます。このようなデータにアクセスするには、コンピュータにデータを見つけるパスを教える必要があります(このパスはとても回りくどくなることがあります)。ファイルに保存されているデータは、限られた量のメタデータを使用して整理および取得されます。このメタデータによって、コンピュータはファイル自体が保管されている正確な場所を知ることができます。これはデータファイルの図書館カードカタログと言えます。

中身がいっぱいのファイルキャビネットを考えてみましょう。どの書類も、ある種の論理的な階層で整理されています。つまり、キャビネット、引き出し、フォルダー、そして紙束です。これが階層型ストレージという用語の由来で、これがファイルストレージです。直接およびネットワークアタッチトストレージ (NAS) システムに対して最も広く使用され、最も歴史のあるデータ・ストレージ・システムで、多くのユーザーが慣れ親しんでいる形式です。PC のファイルに保存されているドキュメントにアクセスするとき、ファイルストレージを使用しています。ファイルストレージにはさまざまな機能があり、あらゆるものを保存できます。複雑なファイルのかたまりを保存する場合に適しており、ユーザーはファイル間をすばやく移動できます。

問題は、実際のファイルキャビネットと同様、この仮想引き出しも上限はそれほど大きくないということです。ファイルベースのストレージ・システムは、容量を追加してスケールアップするのではなく、システムを増設してスケールアウトする必要があります。

Block storage

ブロックストレージでは、データをブロックに切り分けて、別々のピースとして保存します。各データブロックには一意の ID が付与され、ストレージシステムは、小型化されたデータピースを最も適切な場所に配置できます。つまり、一部のデータを Linux® 環境に、別のデータは Windows ユニットに保存できます。

ブロックストレージの多くの構成では、ユーザーの環境からデータを切り離し、複数の環境に分散させてデータの操作方法を改良します。データが要求されると、基盤のストレージソフトウェアが環境からデータのブロックを組み立てて復元し、ユーザーに提示します。通常はストレージエリア・ネットワーク (SAN) 環境にデプロイされ、動作中のサーバーに関連付ける必要があります。

ブロックストレージは、ファイルストレージのように単一のデータパスに頼らないため、データ取得が迅速になります。各ブロックは独立して存在し、パーティション化することで、異なるオペレーティングシステムでアクセスできます。このため、ユーザーはデータを自由に構成できるようになります。効果的で信頼性の高いデータ保存方法で、使用と管理が容易です。大規模なトランザクションを実行する企業や、大規模なデータベースをデプロイする企業に適しています。保存する必要があるデータが多いほど、ブロックストレージの利点が引き出されるからです。

しかし、欠点もいくつかあります。ブロックストレージのコストは高くなる可能性があります。メタデータを処理する機能が限定的なので、アプリケーションまたはデータベースレベルで処理する必要があり、開発者またはシステム管理者の悩みの種が増えてしまいます。

Object storage

オブジェクトストレージはオブジェクトベース・ストレージとも呼ばれ、ファイルをピースに分割してハードウェア間に分散させる、フラットな構造を採用しています。オブジェクトストレージでは、データはオブジェクトと呼ばれる独立したユニットに分割され、フォルダー内のファイルやサーバー上のブロックではなく、1 つのリポジトリに保管されます。

オブジェクトストレージ・ボリュームはモジュール式ユニットとして機能します。各ユニットは自己完結型リポジトリで、データ、分散システム上でオブジェクトを検出するための一意の ID、データを記述するデータを所有しています。このメタデータは重要で、経過時間、プライバシー/セキュリティ、アクセス対応などの詳細情報が含まれています。オブジェクトストレージのメタデータには非常に詳細な情報を格納でき、たとえばビデオの撮影場所、使用したカメラ、各フレームで中心になっている俳優に関する情報を保存できます。データを取得するため、ストレージ・オペレーティングシステムはメタデータと ID を使用します。これにより、負荷分散が改善され、管理者は検索の堅牢性を強化するポリシーを適用できます。

オブジェクトストレージで使用するのはシンプルな HTTP アプリケーション・プログラミング・インタフェース (API) で、これはほとんどのクライアント上のあらゆる言語で使用されています。オブジェクトストレージはコスト効果が高く、使用した分だけが課金されます。スケーリングが容易で、パブリッククラウド・ストレージでは最適なオプションです。静的データに適したストレージシステムで、アジリティやフラット構造という特性から、膨大なデータ量にもスケーリングできます。オブジェクトには、アプリケーションがデータを迅速に検出するための十分な情報があり、構造化されていないデータの保存に適しています。

当然ながら、欠点もあります。オブジェクトを後から変更することはできません。オブジェクト全体を一度で書き込む必要があります。また、オブジェクトストレージは従来のデータベースとはうまく機能しません。オブジェクトの作成には時間がかかり、オブジェクトストレージ API を使用するアプリケーションの作成はファイルストレージの使用ほど単純ではありません。

関連資料

記事

Red Hat のストレージを選ぶ理由

ソフトウェア・デファインド・ストレージとは何か、またデータを柔軟に管理、保存および共有するための最適な Red Hat ソフトウェア・デファインド・ストレージ・ソリューションを導入する方法についてご確認ください。

記事

クラウドストレージとは

クラウドストレージとは、適切なアクセス許可を与えられたすべての人がインターネットを介してアクセスできる場所にデータを保管する仕組みです。動作についての詳細をご確認ください。

トピック

データサービスについて理解する

データサービスは、小型で独立した疎結合の機能の集合で、データストレージ・ボリュームに収集されて保存されている情報を強化、整理、共有、計算します。