オブジェクトストレージは大量の非構造化データに最適で、ブロックストレージは頻繁にアクセスする少量のデータ用に最適です。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
オブジェクトストレージとブロックストレージは、クラウドストレージの2つのタイプで、インターネット接続を介してアクセスできるリモートデータストレージを意味します。オブジェクトストレージは拡張性やカスタマイズ性に優れていますが、必ずしも高速とは言えません。ブロックストレージは高速ですが、通常、オブジェクトストレージよりも高価です。どちらが組織のユースケースに適しているかは、さまざまな要因によって異なります。全体として、オブジェクトストレージは大量の非構造化データに使用されるのが一般的で、ブロックストレージはトランザクションデータや頻繁に検索する必要がある小さなファイルに最適です。
ブロックストレージは駐車場係員付きのコンパクトな駐車場、オブジェクトストレージは何エーカーものスペースがある巨大でオープンな駐車場だと考えてください。ブロックストレージ車庫は、ドライバーがすぐに車を取り出せますが、駐車スペースが限られており、容量を拡大するには新しい車庫の建設や係員の増員が必要で、コストがかかります。これに対し、「オブジェクトストレージ駐車場」は、いくらでも駐車できるようになっています。ただし、一部の車は駐車場の奥のほうまで行ってしまい、ドライバーが回収するのに時間がかかる可能性があります。
ブロックストレージは、ファイルやデータを等しい大きさのブロックに分割します。各ブロックには一意の識別子があり、データルックアップテーブルに格納されています。データを取り出す際には、データルックアップテーブルを使って必要なブロックを探し出し、元の形に組み立て直します。
ルックアップテーブルは、車の鍵を保管するキーボックスのようなものだと考えてください。ドライバーが車を必要とするとき、係員は鍵を手に取り、迅速に車を取り出せるよう車がどこにあるかを調べます。同様に、ブロックストレージでは、データルックアップテーブルに格納された一意の識別子を使用して、データを迅速に検索して取り出します。
ブロックストレージは高速で、バックエンドから定期的にデータを読み込む必要があるアプリケーションによく好まれます。
オブジェクトストレージは、センサーデータ、オーディオファイル、ログ、ビデオや写真コンテンツ、ウェブページ、電子メールなど、大量の非構造化データを保存するための方法です。各ファイルやデータのセグメントは、「オブジェクト」として保存されます。各オブジェクトにはメタデータとデータ検索用の一意の名前または識別子が含まれています。(広い駐車場で、自分の車の位置を覚えるために、自車の位置番号をメモするようなイメージです)。
すべてのオブジェクトは、「データレイク」(「データプール」とも呼ばれる)にまとめて保存されます。データレイクはフラットです。大きな駐車場がフラットで、スロープや追加のレベルがないのと同じように、ファイル階層がありません。
機能 | ブロックストレージ | オブジェクトストレージ |
---|---|---|
ストレージ容量 | 制限のある | ほぼ無制限 |
保存方法 | データは固定サイズのブロックに格納され、要求に応じて再組み立てされる | 非階層型データレイクにおける非構造化データ |
メタデータ | 制限のある | 無制限でカスタマイズ可能 |
データ検索方法 | データルックアップテーブル | カスタマイズ可能 |
パフォーマンス | 高速、小さなファイルの場合は特に高速 | 容量による。大容量のファイルを扱える |
コスト | ベンダーによるが、通常は高価 | ベンダーによるが、通常はより安価(ただし、エグレス料金は別) |
上の表にあるように、ブロックストレージとオブジェクトストレージは異なる点が多くあります。企業は、コスト、パフォーマンス、容量、メタデータの4つの主要な領域において、各モデルの能力を慎重に評価する必要があります。
オブジェクトストレージの最大のメリットは、そのコストです。オブジェクトストレージでデータを保存すると、通常、ブロックストレージで保存するよりもコストが低くなります。ブロックストレージは、データの再組み立てや読み出しを頻繁に行うため、それなりの処理能力が必要で、そのための性能を最適化することでコストが高くなる傾向があります。
逆に、ブロックストレージでは、特に小さなファイルではパフォーマンスが有利になります。オブジェクトストレージのオブジェクトは、定期的にアクセスしてロードすることが想定されていませんが、ブロックストレージの場合はそのことが想定されています。
オブジェクトストレージのもう1つの利点は、容量が無制限、もしくは実質的に無制限であることです。オブジェクトストレージのデータレイクはいくらでも大きくすることができ、お客様は使用した分だけ料金を支払います。ブロックストレージには限りがあり、拡張するにもコストがかかります。
最後に、メタデータは重要な相違点です。開発者や組織は、保存しているファイルに重要な情報を付加することで、データの検索、解釈、文脈の把握に役立てたいと考える場合が多くあります。ブロックストレージではごく基本的なメタデータしか使えませんが、オブジェクトストレージのメタデータは自由度が高くなります。
ブロックストレージとオブジェクトストレージのそれぞれの側面は、組織のニーズに応じて、メリットにもデメリットにもなり得ます。
駐車場の例に戻りますが、大型のバン、セミトラック、キャンピングカーはブロックストレージ車庫にはあまり入らないかもしれません。しかし、広いスペースがある、オブジェクトストレージ駐車場は、そのような車を停めるのに適しています。
つまり、デベロッパーや組織がどのタイプのストレージを選ぶかは、「駐車」したい車両のサイズ、車両をどの程度の頻度で持ち出す必要があるかによって決まります。
大量の非構造化データで、特にそのデータを定期的に読み出す必要がない場合は、オブジェクトストレージが最適かもしれません。オブジェクトストレージの一般的なユースケースは以下のものがあります。
少量のデータや、素早く頻繁に読み込む必要のある小さなファイルには、ブロックストレージが最適な場合があります。ブロックストレージのユースケースには以下のものがあります。
ただし、上記のユースケースは必ずしも確定的なものではありません。オブジェクトストレージとブロックストレージの両方を使用する方法はいくつかあります。注目すべき点は、大量の非構造化データを保存するニーズ(これはオブジェクトストレージの方が優れている)が増加すると予測されていることです。
Cloudflare R2はオブジェクトストレージであるため、オブジェクトストレージについて説明したすべてのメリットを持っていますが、もう1つの重要なメリットがあります。それは、エグレス料金が無料ということです。R2を、出庫に手数料を取らない大きな駐車場だと思ってください。一方、他の駐車場では、退場するドライバーに法外な料金を支払わせて、驚かせています。
Cloudflare R2は、S3互換のオブジェクトストレージにより、開発者が必要とするマルチクラウドのアーキテクチャを作成できるように設計されています。また、R2はCloudflare Workers(関数やオンデマンドで実行するマイクロサービスを書くためのプラットフォーム)と連携し、動的な機能を実現します。R2について詳しくはこちら