Windows Azureストレージサービス
Windows Azure SDK 1.3の衝撃とストレージサービスの重要性
2010年11月に新しいSDKが提供されて、Windows Azureも大幅な機能拡張が行われました。また、Windows Azure AppFabricやSQL AzureなどのWindows Azureを支える周辺機能も拡張されました。この機能拡張により、Windows AzureはPaaSでありながら大幅な柔軟性を持つこととなり、プラットフォームとしてより魅力が高まりました。今回解説するストレージサービスは残念ながら大きな機能拡張がされていませんが、これまで同様にAzure理解の中核となる点は変わりません。
Windows Azureのストレージサービスは、仮想化された環境であるWindows Azure上でデータの永続化を担保する重要な機能です。データ永続化を担保するため、データセンター内でそれぞれのデータは最低3つの複製が作成されて保存されています。また、ストレージサービスの特徴を理解して、十分に操作できることは運用フェーズに入ってからも重要になります。それぞれの機能を運用者の方に向けて概要を解説していきます。
ストレージサービスの機能
ストレージサービスはブロブストレージ、テーブルストレージ、キューストレージの3種類※1の機能に分かれていて、それぞれがストレージアカウントの下に存在する形になります。
図1:ストレージサービス概要 |
ブロブストレージでは単一のバイナリデータ(ブロブ)を保存するための機能です。ブロブに対してメタデータを付与することが可能です。このストレージはファイル保存に使われることが多く、アプリケーションなどで使用するファイルが保存されています。
テーブルストレージは構造化されたデータを保存する機能です。いわゆるキー/バリュー形式(KVS)のデータベースとして扱われています。例えば、データの保存容量も1ストレージアカウントで100TBまでとRDBでは扱うのが困難な容量までデータを保存でき、SQL Azureに比べて単位当たりのデータ単価が安いという特徴があります。
キューストレージは各種アプリケーション間での連携のためのメッセージを保存/提供する機能です。この機能によりアプリケーション間での疎結合での連携が可能になり、サービスがスケールしやすくなります。例えば、WebロールとWorkerロール間の非同期連携で使用されていて、キュー内のメッセージ数を確認してサービスのスケールを選択します。
すべてのサービスはHTTP経由で通信を行うREST形式で提供されており、各機能のURIは以下のとおりです。
機能 | URI |
---|---|
ブロブ | http://.blob.core.windows.net// |
テーブル | http://.table.core.windows.net/ |
キュー | http://.queue.core.windows.net/ |
通常運用ではほとんど意識しませんが、障害調査の際に意識しなければならないケースがありますので頭の片隅に入れておいてください。
では、次ページからはそれぞれのストレージについて説明していきます。
※1 このほかに、ブロブの機能を使用してWindows Azure Driveと呼ばれるWindows Azure上で仮想的なNTFSドライブを提供するSDKの機能が提供されていますが、ブロブの一種であるため今回は扱いません。