マイクロソフトのAzure Platformは、「Windows Azure」「SQL Azure」「Windows Azure platform AppFabric(以下、AppFabric)」の3種類のサービスから成る。前回は、このうち、OSに相当する「Windows Azure」のコンピュートサービスを解説した。今回は、残る「Windows Azure」のストレージサービス、「SQL Azure」、「AppFabric」について内容と特徴を紹介しよう。
4種類の「ストレージサービス」を提供
Windows Azureが提供する「コンピュートサービス」以外のもう一つのサービスが、様々なデータを格納するための「ストレージサービス」である。ストレージサービスは、アプリケーションの実行に必要な様々なデータや、アプリケーションの永続化に必要なデータなどを格納する。
Windows Azureのストレージサービスでは、用途に応じて「Blob(ブロブ)」「Table(テーブル)」「Queue(キュー)」「Drive(ドライブ)」という4種類のストレージを提供している(表1)。これらのストレージは、Windows Azure上で実行するサービスだけでなく、外部のアプリケーションからアクセスすることもできる。
ストレージの種類 | 主な用途 | 最大容量 |
---|---|---|
Table | 構造化データの格納 | 255個のプロパティ |
BLob | バイナリデータの格納 | 50Gバイト |
Block BLob | 動画データなど分割可能な大容量バイナリの格納 | 200Gバイト |
Page BLob | 直接アクセス領域、Driveストレージ領域 | 1Tバイト |
Queue | アプリケーション間のメッセージ転送 | 1メッセージ8Kバイト |
Drive | NTFSドライブを提供 | 1Tバイト |
任意のバイナリデータを保存する「Blob」
Blobは任意のファイル形式データを格納するためのストレージだ。Blobとは、Binary Large Objectの頭文字を取ったもの。このことからも分かるように、画像や動画、音声、さらにはプログラムの実行ファイルなど、様々なバイナリファイルを格納できる。最大50Gバイトの様々なバイナリデータを格納することができる。
Blobは「コンテナ」という単位で管理される。BlobをWindowsにおけるファイルとするならば、コンテナはフォルダと位置付ければイメージしやすいだろう。ただし、一般的なフォルダと違い、コンテナを階層化することはできない。あくまでもコンテナが横並びで複数存在し、そのコンテナの中にBlobが存在する。
Blobには「Block Blob」と「Page Blob」というオプションが存在する。Block Blobは4Mバイト以下の可変長の「ブロック」に分割されたBlobで、最大200Gバイトと一般的なBlobよりも大容量のデータを格納できる。Block Blobは、動画データをチャプタごとに分割して格納するなどといった用途で使うことができる。
一方、Page Blobは512バイト固定長の「ページ」単位で分割されるBlobだ。各ページにアプリケーションプログラムからダイレクトアクセスできることが特徴で、DASDボリュームであることが多い。Page Blobは最大1Tバイトの領域を作成することが可能である。