これまで、ストレージにはどのようなアーキテクチャーがあり、サーバーベースと専用機でどのような違いがあるのかを解説してきた。
さらにデータアクセス方式の違いやその仕組みを解説することで、ストレージ技術の理解が深まるだろう。今回は、アクセス方式の違いから、どのようなタイプのストレージがあり、それぞれどのような特徴を持っているのかについて解説する。
三つのデータアクセス方式
メインフレームが主役だった時代、ストレージに格納されるデータは固定長(構造化データ)だった。データベース管理システムなどのアプリケーションが、ストレージの論理ボリュームを固定長の区画(ブロック)で管理し、データをどのブロックに配置するかを制御していた。各ブロックには通し番号(アドレス)が振ってあり、アプリケーションはそれを指定してブロック単位でデータにアクセスする(図1左)。この時代のストレージは、このようなブロック単位にアクセスする「ブロックアクセス」型(以下、ブロックストレージ)しかなかった。
その後、UNIXやWindowsなどのオープンシステムの台頭とともに、「ファイルシステム」が広く普及した。ファイルシステムとは、論理ボリュームの領域をディレクトリやフォルダーで階層化して、サイズが一様でないファイルを容易に扱えるようにする仕組みだ。ディレクトリやフォルダーにファイルを配置すると、ファイルシステムがファイルをブロックデータに分割して論理ボリュームに配置する。(図1左)。
一方、IPネットワークの普及に伴い、NFSやCIFS、SMB(Server Message Block)などネットワーク経由でファイルシステムを共有するプロトコルが登場した。ストレージ上にファイルシステムを構成し、それをネットワーク上に公開する。これによって、ファイル単位のストレージアクセスが可能となった(図1中央)。NAS(Network Attached Storage)は、この「ファイルアクセス」型ストレージ(以下、ファイルストレージ)に当たる。
その後、画像や動画ファイルなどの非構造化データを「オブジェクト」として扱うストレージが現れた。アプリケーションは、オブジェクトを一意に識別するためのオブジェクトIDを元にオブジェクト単位にアクセスする(図1右)。この「オブジェクトアクセス」型ストレージ(以下、オブジェクトストレージ)は、今ではクラウドのオンラインストレージサービスで広く利用されている。
このように、アクセス方式の観点から、ストレージを「ブロックストレージ」と「ファイルストレージ」、「オブジェクトストレージ」に分類することができる。次に、この三つのストレージの特徴について、詳しく見ていこう。