現代のデジタル通信データは大部分が非構造化されており、行と列を持つ従来のリレーショナルデータベースに準拠していません (また、従来のデータベースの構造に整理することも容易ではありません)。データにはEメール、ビデオ、写真、Webページ、オーディオ・ファイル、センサー・データ、その他の種類のメディアやWebコンテンツ(テキストまたは非テキスト)が含まれます。
このコンテンツはすべて、ソーシャル・メディア、検索エンジン、携帯電話、スマート・デバイスから継続的にストリーミングされます。例えば、Netflixのようなストリーミングサービスは、オブジェクト・ストレージを使用して膨大な映画や番組のライブラリを保管し、世界中のユーザーに配信することで、どのデバイスからでもどこからでもすぐにアクセスできます。
オブジェクト・ストレージを使用すると、テラバイト(TB)からペタバイト(PB)を超え、エクサバイト規模のデプロイメントまで、今日の最大規模のクラウド・プラットフォームやデータ集約型アプリケーションを支えるデータ量を保管・管理できます。
現在の企業は、膨大なデータを効率的かつ低コストで保管・管理するという継続的な課題に直面しています。オブジェクト・ストレージは、従来のファイル/ブロック・ストレージと比べて事実上無制限にスケールできるため、現代のデータ・ストレージ要件に適した強力な解決策を提供します。
DataInteloの調査によると、2023年の世界のオブジェクト・ストレージ市場は約68億米ドルと推定されます。同調査ではまた、2032年までに250億米ドル近くにまで成長し、年平均成長率(CAGR)は15.7%.1と予測しています。この成長は、非構造化データを扱う必要性の高まり、クラウドの採用の増加、ビッグデータ分析への依存の高まりを反映しています。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
オブジェクト・ストレージは2000年代初頭の登場以来、大きく進化してきました。主な節目として、2006年のAmazonによるS3のリリースが挙げられ、クラウド・オブジェクト・ストレージのアプリケーション・プログラミング・インターフェース(API)における事実上の標準が確立されました。その後、2010年にはOpenStack Swiftなどのオープンソースのソリューションが現れ、2010年代半ばにはハイブリッドクラウドの普及が進みました。
当初はWebスケールのアプリケーション向けに開発されましたが、現在のオブジェクト・ストレージはクラウド・コンピューティングやコンテナ化環境に不可欠な存在となっています。今日の実装では、インテリジェントなデータ階層化、バージョン管理機能、Kubernetesなどコンテナ・オーケストレーションを自動化するプラットフォームとの統合といった高度な機能をサポートします。最近のイノベーションには、AIを活用したデータ管理(機械学習(ML)アルゴリズムでストレージ・コストとパフォーマンスを最適化)や、データの利用場所に近接させるエッジ向けのオブジェクト・ストレージ機能が含まれます。
クラウドネイティブ環境でオブジェクト・ストレージの採用が進むのと同時期に、多くの組織が従来型ストレージ・アーキテクチャーへの依存を見直し始めました。
これまで、企業はデータ量の増加に対応するために高価なストレージ・エリア・ネットワーク (SAN)を使用してきましたが、多くの場合、ハードウェアとITインフラストラクチャーに対する多額の投資が必要でした。データ需要が急増するにつれて、この方法の継続は一層困難になってきました。クラウド・ストレージ・サービスはより柔軟な代替手段を提供し、組織は必要に応じて容量を拡大または縮小できるようになります。
企業は、大規模な社内ストレージ・ネットワークを維持する代わりに、ストレージ・アズ・ア・サービス(StaaS)を利用できるようになり、コストを削減しながら速度と拡張性を確保できるようになりました。Amazon Web Services (AWS)、Google Cloud、IBM® Cloud 、Microsoft Azureなどのすべての主要なクラウド・サービス・プロバイダーは、オブジェクト・ストレージ機能を提供しています。この変化はハイブリッドのマルチクラウド・アプローチへとさらに進化し、組織はパフォーマンス、コスト、コンプライアンス要件を最適化するために、オンプレミスのストレージと複数のクラウド・プロバイダーを戦略的に組み合わせています。
クラウド・ストレージには、ファイル、ブロック、オブジェクトなど複数のアーキテクチャーがあり、それぞれデータ管理やアクセス方法が異なります。現代の組織は、ニーズやデータ種別に応じてこれらのストレージ・アーキテクチャーを使い分けます。
構造化データやトランザクション系のワークロードは従来のファイル/ブロック・ストレージに依存することが多い一方、非構造化デジタル・コンテンツの爆発的な増加により、オブジェクト・ストレージは今日のデータ環境に不可欠となりました。これら3つのストレージ方式を理解することで、要件に最適なアプローチを選択しやすくなります。
以下は、オブジェクト、ファイル、ブロック各ストレージの比較の概要です。
ファイル・ストレージは、フォルダー内にデータを編成・保存する方式です。ファイルには名前が付けられ、メタデータ(通常はファイル名、ファイル種別、作成日時と最終更新日時)でタグ付けされ、ディレクトリーとサブディレクトリーの階層構造内のフォルダーに整理されます。
ファイル・ストレージは、物理的な紙のファイルをファイリング・キャビネットに保管するのと同じように考えることができます。複数の引き出し(ディレクトリー)があり、それぞれの引き出し(サブディレクトリー)の中にラベル付きのファイル・フォルダーがあるのです。
紙のファイル・キャビネットで特定のフォルダーを探すとき、該当の引き出しを開けてラベルを確認するのと同じように、ファイル・ストレージ・システムでデータにアクセスする場合は、コンピューター・システムはそれを見つけるためのパス(ディレクトリーとサブディレクトリー)だけを必要とします。
このような階層型ストレージ・システムは、比較的少量で整理しやすいデータに適しています。しかし、ファイル数が増えるにつれて、検索と取得のプロセスが煩雑になり、時間がかかることがあります。
ブロック・ストレージ は、ファイル・ベースのストレージに代わって、効率性とパフォーマンスが向上したストレージを提供します。ブロック・ストレージは、ファイルを同じサイズのデータのチャンクに分割し、これらのデータ・ブロックを一意のアドレスで個別に保存します。ファイル・フォルダー構造は必要ありません。代わりに、ブロックのコレクションをシステム内の任意の場所に保管して、効率を最大限に高めることができます。
ファイルにアクセスする際、サーバーのオペレーティング・システムは一意のアドレスを用いてブロックを再結合し、ファイルとして組み立てます。ディレクトリーやファイル階層をたどってデータ・ブロックにアクセスする必要がないため、効率が向上します。ブロック・ストレージは、低レイテンシーでデータへの細粒度(より詳細)なアクセスと一貫した高パフォーマンスを必要とするクリティカルな業務アプリケーション、トランザクション・データベース、仮想マシンに適しています。
ファイルをブロックに分割したり、階層フォルダーに整理したりする代わりに、オブジェクト・ストレージは各データ片を個別にアドレス指定可能な離散的単位として扱います。ディレクトリー構造に依存するファイル・システムやデータを分割するブロック・ストレージと異なり、オブジェクト・ストレージは各ストレージ単位内でデータ完全性を完全に保持します。
オブジェクト・ストレージは、ブロック方式やファイル方式の実用上の限界を超える非構造化データに対して、コスト効率が高く大規模にスケールする保存先を提供します。変更頻度の低い静的データ(コンプライアンス文書、メディア・ライブラリー、バックアップ・データなど)のアーカイブに最適です。
オブジェクトは、オブジェクト・ストレージ・システムに典型的な、構造的にフラットなデータ環境に保存される個別のデータの単位です。従来のファイル・システムとは異なり、実際のフォルダー、ディレクトリー、または複雑な階層はありませんが、命名規則を使用することでフォルダー構造に似せることができます。
各オブジェクトは、データ本体、関連するメタデータ(オブジェクトの説明情報)、そして一般にオブジェクト・キーと呼ばれる一意の識別子を含む自己完結型の単位です。この一意の識別子はファイル・パスに似る場合がありますが、実際のディレクトリー構造を表すものではありません。
リポジトリー情報により、アプリケーションは目的のオブジェクトを特定・アクセスできます。オブジェクト・ストレージ・デバイスは、より大きなストレージ・プールに集約でき、これらのプールを複数拠点に分散配置できます。この機能により、事実上無制限のスケールと、データ・レジリエンシーおよび災害復旧の強化が可能になります。
オブジェクト・ストレージは、階層型ファイル・システムに伴う複雑さや拡張性上の課題を取り除きます。オブジェクトは、オンプレミスのデータセンター、クラウド・サーバー、またはハイブリッド/マルチクラウド環境に保存でき、世界中のどこからでもアクセスできます。近年のデプロイメントでは、オブジェクト・ストレージを支える基盤の運用に、コンテナ・オーケストレーションや分散インフラストラクチャーがよく用いられます。
オブジェクト(データ、メタデータ、一意の識別子で構成)は、オブジェクト・ストレージ・システムではAPIを介してアクセスします。標準のAPIは通常、HTTPベースのRESTful API(RESTful Webサービスとも呼ばれます)です。多くのプロバイダーは、さまざまなプログラミング言語からこれらのAPIを扱いやすくするソフトウェア開発キット(SDK)も提供しています。
これらのAPIでは、オブジェクトの一意の識別子(またはキー)を使用してオブジェクトを取得し、そのメタデータのクエリを実行することも可能です。APIはインターネットを使用するため、ネットワーク接続があれば、どこからでも、どのデバイスからでもオブジェクトにアクセスできます。
RESTful APIでは、オブジェクトのアップロードに「PUT」または「POST」、取得に「GET」、削除に「DELETE」を使用します。(HTTPは「Hypertext Transfer Protocol」の略で、インターネット上でテキスト、画像、音声、動画などのマルチメディア・ファイルを転送するための規約です。)
オブジェクト・ストレージ・インスタンスには、APIによって呼び出される静的ファイルをいくつでも保存できます。オブジェクトの作成、取得、更新、削除にとどまらない、より多くのRESTful API標準が登場しつつあります。これらの標準により、アプリケーションはオブジェクト・ストレージ、そのコンテナ、アカウント、マルチテナンシー、セキュリティー、課金などを管理できます。
たとえば、大規模な図書館システムの全書籍を単一プラットフォームに保存したいとします。書籍の本文データに加えて、著者、出版日、出版社、主題、著作権などの付随情報も保存する必要があります。これらのデータとメタデータを、ディレクトリー/サブディレクトリー階層下のフォルダーに整理しつつ、リレーショナル・データベースに格納することも考えられます。
しかし、何百万冊もの本があると、検索と検索のプロセスが煩雑になり、時間がかかるようになります。オブジェクト・ストレージがうまく機能するのは、データが静的または固定であるためです。この例では、本の内容は変わりません。
オブジェクトはフラット構造の「パッケージ」として保管され、1回のAPI呼び出しで簡単に検索および取得できます。さらに、本の数が増え続けると、ストレージ・デバイスをより大きな記憶域プールに集約し、これらの記憶域プールを分散して無制限に拡張できます。
オブジェクト・ストレージ・システムでは、シンプルなAPI呼び出しでファイルのアップロードや取得ができますが、アプリケーションは保管中の適切なオブジェクトを見つけるために、そのオブジェクトのメタデータも必要とします。ここで役立つのが、オブジェクト・ストレージ・データベースです。このデータベースは、分散ストレージ・システム内で該当データ・ファイルを見つけるために、オブジェクトのメタデータを用いる一種のディレクトリーを提供します。
各オブジェクト・ストレージ・グループには、次の2つのテーブルを含むオブジェクト・ストレージ・データベースがあります。
各オブジェクトに関する説明情報(メタデータ)を格納します。このディレクトリーは、コレクション名識別子、オブジェクト名、その他の関連情報を記録することで、ストレージ階層内のすべてのオブジェクトを追跡します。一般的なオブジェクト・ストレージ方式では、主なインデックスとして、たとえば次のようなものがあります。
オブジェクト・ストレージ・テーブル(object storage table)は、データの内容、すなわちファイルそのもの(オブジェクト)を格納します。データ(動画・画像ファイルや大量の文書群などの固定的なデジタル・コンテンツ)はオブジェクト・ストアに保存され、メタデータ(name IDを含むデータの文脈情報)はデータベース/オブジェクト・ディレクトリー・テーブルに保持されます。
アプリケーションがファイルを「POST」する際は、メタデータを作成してオブジェクト・ストレージ・データベース内のオブジェクト・ディレクトリー・テーブルに保存し、同時にファイルをオブジェクト・ストレージ・テーブルに「PUT」します。後でファイルを取得する際は、アプリケーションがディレクトリーまたはデータベースでメタデータを照会し、その記述的な識別情報を使ってデータを特定し、「GET」します。
オープンソースの技術は、クラウド・サービス・プロバイダーや他ベンダーの独自ソリューションの代替として、あるいはそれらと連携する形で、データ管理とストレージの選択肢に柔軟性とコントロールをもたらします。
オープンソースのツールと公開APIへのアクセスにより、既存の独自システムとの互換性を保ちながら、組織固有の要件に合わせてコードをカスタマイズできます。このアプローチでは、手元の既存ハードウェアを活用したり、異なるベンダーのハードウェアを混在させたりでき、幅広い開発者コミュニティーの貢献も享受できます。
すべての主要なオープンソース・オブジェクト・ストレージ・ソリューションは、AmazonのSimple Storage Service(Amazon S3)オブジェクト・ストレージ・プロトコルに準拠しています。2006年に初めて導入されて以来、クラウド・ストレージAPIのデファクト・スタンダードとなっています。
人気のあるオープンソース・ソリューションには、Ceph、MinIO、OpenStack Swift などがあります。これらのソリューションは異なる機能、ポリシー・オプション、方法論を提供しますが、S3互換のRESTful APIを使用して非構造化デジタル・データの大規模主要な機能を実現するという、同じ目的を達成します。
多くの実装はS3の代替となる独自APIも用意しています。たとえば OpenStack Swift は、Amazon の S3 API をサポートするだけでなく、独自の Swift API も提供しており、固有の機能を備えています。Ceph Object Storage は S3 互換でありつつ、OpenStack Swift API の大部分にも対応しており、アプリケーションからのストレージ操作に柔軟性を与えます。
オブジェクト・ストレージは、バックアップと災害復旧に有益です。物理バックアップの代替としてより効率的だからです。たとえばテープやハード・ディスク・ドライブなどの物理バックアップでは、地理的冗長性を確保するためにデータを物理的にロードし、取り外し、オフサイトへ搬送する必要があります。
オブジェクト・ストレージを使えば、オンプレミスのデータベースをクラウドへ自動バックアップし、分散したデータセンター間でデータをコスト効率よくレプリケートできます。災害復旧を確実にするため、オフサイトや地域をまたいだバックアップも追加できます。
クラウド型オブジェクト・ストレージは、長期保管に最適です。従来型のアーカイブ(ネットワーク接続ストレージ(NAS)など)を置き換え、ITインフラ・コストの削減に寄与します。また、画像や動画などアクセス頻度の低いリッチ・メディア・コンテンツを、大容量でもコスト効率よく保持できます。
オブジェクト・ストレージは、集中型のデータレイクを構築するためのスケーラブルでコスト効率の高い手段です。データレイクには、さまざまなソースからの構造化/非構造化データを事実上無制限に保管できます。保管データはクエリー可能で、ビッグデータ分析を支え、お客様、業務、マーケット動向に関するインサイトを導出できます。
クラウドベースのオブジェクト・ストレージは、クラウド・アプリケーション開発のためのデータ・ストアとして機能します。クラウドネイティブ・アプリケーションの構築とレガシー・アプリケーションのモダナイズを実現します。オブジェクト・ストレージを活用すれば、大量の非構造化IoTおよびモバイル・データを効率的に処理し、アプリケーションのコンポーネントの更新を簡素化できます。
オブジェクト・ストレージを活用することで、組織は豊富なメタデータを備えた大量の文書、メディア・ファイル、その他の資産の管理整理と検索を簡単に行えるようになります。
IoTデバイスはセンサーから大量のデータを生成します。オブジェクト・ストレージはこれらを効率的に収集・保存し、分析に利用できる状態にします。また、データ処理をデータ発生源の近くで行うエッジコンピューティングのシナリオにも対応します。
拡張性、レジリエンス、セキュリティーを備え、どこにでも、どのようなフォーマットでもデータを保存できます。
クラウド・ストレージ・サービスにアクセスして、スケーラブルで安全、かつ費用対効果の高いデータ・ストレージ・ソリューションをご利用ください。
IBMのクラウド・コンサルティング・サービスで新しい機能を解き放ち、ビジネスの俊敏性を高めましょう。
1. オブジェクト・ストレージ市場:2025年からの世界予測(英語)、DataIntelo、2025年