【Azure基礎用語解説】「Azureストレージサービス」
2015.11.25
Azureストレージサービス
Azureストレージとは、Azureを構成する3つの基本コンポーネント(「ファブリック」「ストレージ」「コンピューティング」)の1つであり、データの格納場所を提供するサービスのことです。
Azureストレージは、拡張性と可用性、耐久性が必要とされるクラウドコンピューティング向けに開発されたもので、Azureの堅牢性を支えるストレージ基盤です。
自動パーティション分割機能を備え、アプリケーションの拡大に対応して適切なリソースを自動的に割り当て、トラフィック量に応じて均等に負荷分散する仕組みになっています。
ユーザーは、1つのサブスクリプション契約あたり最大100個のストレージ領域(これを「ストレージアカウント」と言います)を作成することが可能で、1つのストレージアカウント(標準ストレージアカウントの場合)あたり最大500テラバイト(TB)のストレージを作成することが可能です。
Azureストレージには、「BLOBストレージ」、「テーブルストレージ」、「キューストレージ」、「ファイルストレージ」という用途が異なる4つのストレージタイプが用意されています。以下、それぞれについての概要を紹介します。
①BLOBストレージ
BLOB(Binary Large OBject)ストレージは、ドキュメント、写真、ビデオ、ブログなどのソーシャルメディア・コンテンツをはじめ、Webアプリケーションのテキスト、イメージ、バックアップデータ、ログといった、さまざまな種類のバイナリファイル(非構造化データ)を格納することができるストレージです。Azureでは最も一般的なストレージタイプであり、コンテンツ配信などさまざまな用途に活用できます。
BLOBには、「ブロックBLOB」、「追加BLOB」、「ページBLOB(ディスク)」の3種類があります。このうち、ブロックBLOBはドキュメント、メディア、バックアップなどの格納に適したストレージです。また、追加BLOBは、新しいブロックを最後に追加することでのみ更新可能なストレージで、ログなどの格納に向いています。3つ目のページBLOBはランダムアクセスをサポートしたストレージで、最大1TB容量のファイルが格納できます。Azure仮想マシンに設置されたIaaSディスクは、このページBLOBにVHDファイルとして格納されたものです。
②テーブルストレージ
テーブルストレージは、アプリケーションのユーザーデータやアドレス帳、デバイス情報、サービスに必要なメタデータといった構造化データを格納するためのストレージです。その実体は、マイクロソフトのNoSQLデータベース(キー属性データストア)であり、従来のリレーショナルデータベースとは異なり、スキーマの設計なしで扱え、データを自由に修正できるという特徴があります。テーブル間のリレーションが不要で、大容量の構造化データを格納したい場合に適しています。
③キューストレージ
キューストレージは、ワークフロー処理、およびサービスのコンポーネント間通信のためのメッセージング機能を提供するストレージです。主にWebサーバーからバックエンドで動作するアプリケーションへ処理を渡す際に利用します。
ストレージアカウントの下に複数のキューを保持し、メッセージ形式でデータを送受信します。一般的なキューは、「先に入れたデータは常に先に取り出す」という「FIFO(First In, First Out)」が原則ですが、Azureのキューストレージではその動作は保障されず、非同期での通信が行われます。
④ファイルストレージ
ファイルストレージは、Windows標準のファイルサービス・プロトコルであるSMBプロトコル(Server Message Block protocol)を使用し、クラウドでのファイル共有を実現するストレージです。Azure仮想マシン、またはCloud Servicesで実行しているアプリケーションでは、共有をマウントすることでファイルデータにアクセスできるようになります。また、SMBをサポートしているオンプレミスのアプリケーションから、ファイル共有をマウントすることも可能です。Azure上に共有ファイルを格納するファイルサーバーを構築するには、このファイルストレージが便利です。
photo:Thinkstock / Getty Images