「オブジェクトストレージ」と「ブロックストレージ」の違い

クラウドサービス

「オブジェクトストレージ」と「ブロックストレージ」の違いについて解説します。

一言で表すと、HDDにデータを保存する感覚に近いのが「ブロックストレージ」、1オブジェクト(≒1ファイル)単位でデータを記録する形式が「オブジェクトストレージ」となります。

ブロックストレージは、ディスクに保存するイメージ

従来から使われてきたのがブロックストレージです。

HDDやSSDなどのストレージを、一定の大きさの「ブロック」に分割して使用します。「1ブロック=4KB」のディスクに「10KB」のデータを書き込む際は、3ブロックが使われるイメージです。

WindowsやLinuxなどのOSからはファイル単位に見えますが、実際には裏側で「ファイルシステム」と呼ばれる仕組みが動いていて、ディスク上のブロックを管理しています。

AWSのサービスでは、EBS(Elastic Block Storage)が該当します。サイズが「100GB」のEBSを作成した場合は、100GB分(のブロック)の料金が常に発生します。

オブジェクトストレージは、ファイル単位で保存する

一方のオブジェクトストレージは、クラウド時代で利用が急増しています。

データに目印となるラベル(メタ情報)を付けたうえで、広大な空間に配置するようなイメージです。1つ1つのデータを「オブジェクト」と呼び、画像や動画などの保存に向いています。

ブロック単位ではなくオブジェクト単位で管理するため、特定の欲しいオブジェクト(データ)だけをピンポイントに取り出すことが可能です。拡張性にとても優れているのが特徴です。

大半のクラウドサービスでは、保存容量が無制限となっています。実際に保管したオブジェクト(データ)の分だけ料金が発生します。HTTP経由でもオブジェクトにアクセスが可能です。

「AWS S3」がオブジェクトストレージの代表的なサービスです。

クラウドの大量データ時代ではオブジェクトストレージが活躍

オブジェクトストレージの特徴は、何よりもその拡張性です。
データが常に増加し続けるシステムでは、オブジェクトストレージが活躍しています。

身近な例では、Twitterの画像投稿機能が挙げられます。世界中から大量の画像データが毎秒投稿される中、ブロックストレージでは容量の拡張とブロック管理が追いつきません。

画像にIDを割り振った上でオブジェクトストレージに配置し、クライアントからはHTTP(HTTPS)で直接取得してもらう。といったシステム構成です。大量アクセスにも強いです。

一方のブロックストレージは、細かなデータをローカルで頻繁に読み書きする場合に向きます。特にデータベースなどは、ブロックストレージとの相性が非常に良いと言えます。

まとめ

「オブジェクトストレージ」と「ブロックストレージ」の違いについて比較しました。

データベースなど、サーバー内で頻繁に読み書きする場合は「ブロックストレージ」が適切です。

Webサービスのメディアファイルなど、サーバーから離れた場所で読み書きがある・データ量が増え続ける場合は「オブジェクトストレージ」を用いましょう。

【関連記事】