ブロックストレージとは?

ブロックストレージはクラウドストレージの一種で、データをブロックに分割することで動作します。ブロックストレージは、データを素早く取り出すことができます。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • ブロックストレージの定義
  • ブロックストレージの仕組みについて説明する
  • ブロックストレージとオブジェクトストレージの比較について理解する

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

ブロックストレージとは?

ブロックストレージとは、クラウドストレージの一種で、ファイルやデータを等しい大きさのブロックに分割して保存するものです。この保存方法は、ファイルシステムに依存しないため、データを素早く取得することが可能です。市立図書館のデジタルカタログを見て本を探すのと、本棚のどこに本があるかを正確に把握するのとでは、何が違うかを考えてみてください。前者はファイルストレージに近く、後者はブロックストレージに近いものです。

開発者は、バックエンドからデータを定期的に読み込む必要があるアプリケーションでは、ブロックストレージを好むことが多いようです。ブロックストレージは高速で、スケールアップも非常に優れています。また、コンテナコンピューティング、仮想マシン、ストレージエリアネットワーク(SAN)など、複数のタイプのコンピューティングおよびネットワーキングモデルとも相性が良いものです。

しかし、ブロックストレージに欠点がないわけではありません。ファイルのメタデータは非常に基本的なものでなければならず、通常はカスタマイズすることができません(本のタイトルだけが記録されている図書館を想像してみてください)。ブロックストレージは、オブジェクトストレージのような他のクラウドストレージモデルと比較して、よりコストの高いストレージオプションでもあります。

ブロックストレージの仕組みは?

データ書き込み

ブロックストレージを使用するアプリケーションがブロックストレージデータベースにデータを書き込む際、1つのファイルとして保存するのではなく、データをいくつかのセクション、「ブロック」に分割します。これらのブロックは、特定の順序で保存する必要はありません。

一意の識別子

各ブロックには、アプリケーションで後から見つけることができるように、固有の識別子番号が付けられています。

データルックアップテーブル

これらの一意の識別子は、データルックアップテーブルに格納され、アプリケーションが必要なときに各ブロックの場所を簡単に見つけることができる形式になっています。

データ読み出し

ブロックに格納されたデータが要求されると、アプリケーションはデータルックアップテーブルを参照し、要求されたデータがどこに格納されているのかを探します。通常、要求されたデータは複数のブロックにまたがっています。アプリケーションは、テーブルの識別子を使用してデータを取得し、バラバラになったブロックを元の形に結合します。

ブロックストレージのメリットは何ですか?デメリットは何ですか?

以下のメリットがあります。

  • ブロックストレージは高速。メタデータやファイル階層を利用してデータを検索するのではなく、一意の識別子を使用することで、データを極めて高速に取得することができます。
  • データへの到達経路が複数ある。ブロックストレージでは、検索に必要なのは一意の識別子だけなので、データへの到達経路が複数あることになります。これに対し、ファイルストレージでは、ファイル階層のパスをたどって目的のファイルにたどり着く必要があります。

以下のデメリットがあります。

  • ブロックストレージは高価。高速パフォーマンスに最適化されていることもあり、ブロックストレージはオブジェクトストレージよりコストが高くなります。レーシングカーが大型乗用車より高いことに似ています。
  • ブロックストレージのメタデータは限定的。ブロックストレージは、基本的なファイル属性のみをメタデータとして用います。

ブロックストレージとオブジェクトストレージの比較は?

オブジェクトストレージは、非構造化データの非階層的な集め方である「データレイク」と呼ばれるものにファイルやデータを保管します。オブジェクトストレージにはどんな種類のデータやファイルフォーマットも入るので、ブロックストレージとは異なり、メタデータをカスタマイズした複雑なものにすることができます。ビデオやオーディオなどのメディア、ログ、災害復旧用バックアップなどがオブジェクトストレージの一般的な使用例ですが、非常に柔軟性が高く、さまざまなユースケースに対応します。

オブジェクトストレージは構造化も階層化もされていないため、膨大な量のデータを素早く、ほぼ無制限に保存することができます。ちょうど、旅行のパッキングをするときに、衣類を丁寧に畳んでスーツケースに仕分けるよりも、大きなバッグにゆったりと放り込んだほうが早いのと同じです。しかし、このようなパッキング方法と同じように、オブジェクトストレージはデータの検索効率を低下させる可能性があります。

オブジェクトストレージとブロックストレージの比較 オブジェクトストレージ ブロックストレージ
ストレージ容量 ほぼ無制限 ベンダーにより異なる
データ検索 遅いことがある 速さ
メタデータ カスタマイズ可能 ベーシック、制限あり

ブロブストレージは、オブジェクトストレージのもう1つのタイプで、バイナリラージオブジェクト(通称「ブロブ」と呼ばれる)に使用されます。また、頻繁に検索する必要のない非構造化データにも最適です。

ブロックストレージはファイルストレージと比較してどうですか?

クラウドファイルストレージは、基本的に従来のファイルとフォルダの階層構造で、クラウドでホストされます。ディレクトリやサブディレクトリの中にデータのフォルダがあり、各フォルダ内にはファイルを識別しやすいようにメタデータがタグ付けされています。ファイルストレージは、データの整理整頓はできますが、大量のデータへの拡張性はあまり高くはありません。階層を通過することで、データ検索に時間がかかります。

しかし、ユースケースによっては、ファイルストレージがうまく機能することもあります。企業レベルのデータの保存と検索を必要としない個人は、ファイルストレージが自分のニーズに合っていると思うかもしれません。

Cloudflare R2とは?

データエグレスとも呼ばれるデータ検索のコストは、今日の組織にとって大きな関心事となっています。こうしたコスト上昇に対抗するため、CloudflareはCloudflare R2というサービスを通じて、エグレス料金無料のオブジェクトストレージを提供しています。R2は高速かつ無料のデータ取得を可能にし、Cloudflare Workersの分散コード機能と組み合わせることで、無限のカスタマイズが可能です。Cloudflareは、このサービスにより、開発者や組織がベンダーロックインを回避できるようにすることを目指しています。