データ・ストレージの世界には、ブロック・ストレージ以外の選択肢も存在します。 開発者は、オブジェクト・ストレージやファイル・ストレージなどの他のシステムも使用します。 いずれもその最終的な目的はユーザーとアプリケーションにデータを提供することですが、それぞれ、データの保存と取得の方法が異なります。
オブジェクト・ストレージ
オブジェクト・ストレージは、オブジェクト・ベース・ストレージとも呼ばれ、データ・ファイルをオブジェクトと呼ばれる断片に分割します。 次に、それらのオブジェクトを単一のリポジトリーに格納します。このリポジトリーは、複数の ネットワーク化された システムに分散できます。
実際には、アプリケーションによってすべてのオブジェクトが管理されるため、従来のファイル・システムは必要なくなります。 各オブジェクトには一意のIDが付与され、アプリケーションはこれによってオブジェクトを識別します。 また、各オブジェクトにはメタデータ(オブジェクトに保存されているファイルに関する情報)が格納されています。
オブジェクト・ストレージとブロック・ストレージの重要な違いの1つは、それぞれがメタデータを処理する方法です。 オブジェクト・ストレージでは、メタデータをカスタマイズして、オブジェクトに保存されているデータ・ファイルに関する追加の詳細情報を含めることができます。 例えば、動画ファイルに付随するメタデータをカスタマイズして、その動画が作成された場所、動画の撮影に使用されたカメラのタイプ、さらには各フレームでキャプチャーされた被写体を記録しておくことができます。 ブロック・ストレージでは、メタデータは基本的なファイル属性に限定されます。
ブロック・ストレージの場合、ファイルに変更が加えられると新しいオブジェクトが作成されるため、頻繁に変更されない静的ファイルに最適です。
ファイル・ストレージ
ファイル・ストレージは、ファイル・レベルまたはファイル・ベースのストレージとも呼ばれ、通常、ネットワーク接続ストレージ(NAS)テクノロジーに関連付けられています。 NASは、従来のネットワーク・ファイル・システムと同じ考え方に基づき、ユーザーとアプリケーションにストレージを提供します。 つまり、ユーザーまたはアプリケーションは、ディレクトリー・ツリー、フォルダー、個々のファイルを介してデータを受け取ります。 これは、ローカルのハード・ディスクと同様に機能します。 ただし、NASまたはネットワーク・オペレーティング・システム(NOS)は、アクセス権、ファイル共有、ファイル・ロック、およびその他の管理を行います。
ファイル・ストレージの構成は非常に簡単ですが、データへのアクセスは単一のパスによって制限されるため、ブロック・ストレージやオブジェクト・ストレージと比較してパフォーマンスに影響が生じる可能性があります。 また、ファイル・ストレージは、Windowsの場合はNew Technology File System(NTFS)、Linuxの場合はNetwork File System(NFS)など、一般的なファイル・レベルのプロトコルでのみ動作します。 これにより、異なるシステム間でのユーザビリティーが制限される可能性があります。