Windows Azure Virtual Machine上でSQL Serverを使用する際に留意すること
Windows Azure Virtual Machine上で、SQL Serverを使用する際のサイジングで考慮すべきことを説明します。
(1)ネットワーク帯域に注意する
仮想マシンのサイズに応じて、利用できる帯域幅が設定されています(表2)。バッチリクエスト数やテーブル設計、ストアドプロシージャの作りによって必要となる帯域幅は変動しますので、アプリケーション作成後によく検討してください。なお、帯域幅が細いと同期遅延などが発生する原因です。
仮想マシンのサイズ | 帯域幅(Mbps) |
---|---|
Extra Small | 5 |
Small | 100 |
Medium | 200 |
Large | 400 |
Extra Large | 800 |
(2)ディスクサイズに注意する
仮想マシンにはVHDを別途アタッチしてディスク領域を増やすことができます。アタッチできるVHD数は、仮想マシンのサイズに応じて上限が決まっています(表3)。VHD1つの上限サイズは1TBなので、Mediumサイズの場合、最大4TBまで使用できます。
VHDを格納するストレージアカウントには、新しいアカウントを使用してください。新しいアカウントを使用するメリットは、2012年6月7日以降に作成されたストレージアカウントには第2世代ハードウェアSKUが適用され高速になっているからです(注4)。
オンプレミスでの物理I/Oのパフォーマンスチューニングと同様の考え方が適用できます。トランザクションログは、1つのディスクに1つのファイルだけを作成するようにしてください。複数のVHDをアタッチして、データファイルを分散させるようにすると性能向上が期待できます。ソフトウェアストライピングの使用は推奨されていません。TempDBはDドライブに配置してください。
仮想マシンのサイズ | データディスク数 |
---|---|
Extra Small | 1 |
Small | 2 |
Medium | 4 |
Large | 8 |
Extra Large | 16 |
詳細は、『Windows Azureのフラットネットワークストレージと2012年のスケーラビリティ』を参照してください。
現時点では、物理I/Oの遅さがパフォーマンスボトルネックとなりやすくなっています。マイクロソフトも認識しており、ストレージの性能向上に取り組んでいて正式サービスまでには、ある程度改善されていると思われます。
Azure上にMongoDBをインストールする
Windows Azure Virtual Machinesの使用例の2つ目は、MongoDBです。
MongoDBはNoSQLデータベースとして有名な製品です。BSONと表現されるBinary JSONオブジェクトを格納します。ロードバランシングと高可用性を提供するレプリカを基にした柔軟で自由度の高いレプリケーション機能を持っています。ハードウェアスケールアップをしにくいがスケールアウトをしやすいAWSやWindows Azureのようなクラウド環境下において、水平分散機能を保持するMongoDBは効力を発揮します。実際に、そこそこのトラフィックと規模があるFourSquareやThe New York Timesのサイトで使用されています。
MongoDB Installer for Windows Azureを使用することで、AzureにMongoDBを簡単にインストールすることができます。Windows PowerShellスクリプト用のコマンドラインツールで、Windows Azure Virtual Machine上にMongoDBレプリカセットを自動的にインストールすることができます。ノード数やDNSプレフィックスなどを指定すれば、インストーラーが仮想マシンにMongoDBをインストールし、レプリカセットを設定します。レプリカセットの設定が完了すると、MongoDBを使用できるようになります。
以下では、MongoDB Installer for Windows Azureを使用して、MongoDBがインストールされた仮想マシンを作成する手順を見ていきます。現時点(2012/12/3)で提供されているMongoDB Installer for Windows Azureには、日本語OSへの対応が不十分なため多少手順が増えます。
1.MongoDB Installer for Windows Azureをダウンロードする
mongodbのサイトで提供されているMongoDB Installer for Windows Azureをローカルマシンにダウンロードします。
2.MongoDB Installer for Windows Azureをインストールする
ダウンロードしたMongoDBInstVM.msiを実行して、MongoDB Installer for Windows Azureをインストールします(図3)。ライセンス条項に同意し、Installボタンをクリックすると、インストールが始まります。
インストールが完了すると、「C:\Program Files (x86)\MongoDB」(64ビットOSの場合)に関連ファイルがインストールされ、[スタート]-[すべてのプログラム]-[MongoDB Installer for Windows Azure]フォルダーが作成されます。