SQL Server のことなら SQL Quality SQL Server パフォーマンス チューニング、コンサルティング、アドバイス、相談、定期診断、トレーニング

ホーム > 技術情報 > SQL Server 2014 自習書 No.5 Microsoft Azure SQL Database 入門

SQL Server 2014 自習書シリーズ (HTML 版)
「No.5 Microsoft Azure SQL Database 入門」

松本美穂と松本崇博が執筆した SQL Server 2014 自習書シリーズの「No.5 Microsoft Azure SQL Database 入門」の HTML 版です。 日本マイクロソフトさんの Web サイトで Word または PDF 形式でダウンロードできますが、今回、HTML 版として公開する許可をいただきましたので、ここに掲載いたします。[2015年12月29日]

目次へ | 前のページへ | 次のページへ

3.3 Azure SQL Database の DTU(性能指標)、エディション変更

(2015年1月時点での情報)

Azure SQL Database では、DTU(Database Throughput Unit:データベース スループット ユニット)という単位で、パフォーマンス レベルを定義しています。

00221

DTU は、データベース エンジンのパフォーマンスを表す指標で、CPU やメモリ、書き込み速度、読み取り速度の測定値を組み合わせて(マイクロソフトによって)算出されたものになっています。単純な DTU 比較で考えると、P1 は「100」、P3 は「800」なので、P3 は P1 よりも 8倍速く処理ができる(もちろん処理内容によって変化)、と捕らえることができるようになっています。

DTU は、マイクロソフトのベンチマーク ツールを利用して、基本的な OLTP ワークロードを実行・算出した結果になっていて、詳しくは、オンライン ブックの次のページに記載されています。

Azure SQL データベースのサービス階層とパフォーマンス レベル
https://msdn.microsoft.com/library/azure/dn741336.aspx

00222

このページでは、次のように DTU についてもう少し詳しく記載されています。

00223

この表では、最大ワーカースレッド数や、最大セッション数、利用したベンチマーク ツールで、1秒あたりにどれぐらいのトランザクションを実行できたのかなどが記載されています。実際にどれぐらいの差が出るのかについては、後述します。

Note: ベンチマークの詳細
DTU で利用したベンチマークの詳細について興味がある方は、次の URL がお勧めです。
Azure SQL データベースのベンチマークの概要
https://msdn.microsoft.com/ja-jp/library/azure/dn741327.aspx
00224
Chnnnel 9: Azure SQL Database for Business-Critical Cloud Applications: (04) Azure SQL Database Benchmark
http://channel9.msdn.com/series/Azure-SQL-Database-for-Business-Critical-Cloud-Applications/04
00225

◆ 実際のクエリの実行速度例

(2015年1月時点での情報)

Azure SQL Database の性能を、筆者がテストした結果になりますが、次のような実行性能を確認にすることができました。

00226

クエリ A、B、C の 3種類を試しましたが、Premium エディション(P1P2P3)は、さすがに価格相応の非常に良い性能が出ることを確認できました。これに比べて、S3(執筆時点では、プレビュー版)は、CPU に関しては P1 に近い性能を得られますが、書き込み性能に関しては Premium に大きく劣るということを確認できました。Premium エディションは、高速ストレージを利用しているので、書き込みおよび読み取り(ディスク I/O)が伴う処理にも強いことが分かりました。

一方で、Basic S0 は、非常に大きな性能制限を受けていることが分かりました。特に CPU に関する制限が大きく、価格が安い分だけ、大きな制限を受けています。

冒頭の DTU 値と、DTU の差(S0 に比べて何倍か)、クエリ A の実行時間および実行時間の差をまとめると、次の表のようになります。

00227

S0 P3 は、DTU 的には 80倍の差ですが、クエリA では 64.7倍の差を確認することができ、その他もだいたい DTU 通りの性能差を確認することができました。S3 P1 は、DTU 的には同じ値ですが、クエリC のように更新系の処理の場合には、Premium エディションの高速ストレージの恩恵によって、大きな差が出ることが分かりました。

◆ 4億件の SELECT INTO の性能

次のグラフは、筆者のお客様のデータベース(4億件のデータ8.2GB分)を利用して、SELECT INTO ステートメントでデータのコピーを作成したときの実行時間を比較したものです。

00228

P1 は、S3 よりも 2.5倍も速く処理することができ、P2 なら 4.9倍P3 なら 11.5倍ものスピードで処理できることを確認できました。SELECT INTO では、最初のフェーズでコピー元のデータを読み取って、読み取った後は、ひたすら書き込んでいく、という動作になるので、Premium エディションの高速ストレージの恩恵をより受けることができます。

また、P2 P3 では、次のように並列 INSERT 処理も行われるので、より高速に処理ができることを確認できました。

00229

◆ 4億件に対するクエリ性能

次のグラフは、上記と同様、4億件のデータに対して、集計処理を行うクエリを実行したときの実行時間を比較したものです。

00230

このクエリは、CPU 負荷が中心で、実行時間のうちのほとんどが CPU 時間になるのですが、P1 と比べると、P2 2倍P3 8.1倍で処理できることを確認できました。P2 P3 では、並列クエリ(複数の CPU コアを利用したパラレル処理)が効果的に働くことで、このような性能差になりました。

P1P2P3 は、DTU の 100200(2倍)、800(8倍)という数値の通り、このクエリのように CPU 負荷が中心であれば、並列クエリの恩恵によって、2倍8倍で処理ができることが分かりました。

また、上のグラフでは、P3 インメモリの列ストア インデックスを作成したときの結果も掲載していますが、これを利用すれば 185倍もの性能向上を実現できています。前の Step で説明したように、列ストア インデックスは、Premium エディションでのみ利用できる機能で、大量データに対する集計処理が得意なカラム指向のインデックスです。

以上のように、DTU は、あくまでも性能のおおまかな指標になるものなので、速くしたい処理が CPU 負荷中心なのか、ストレージ処理中心なのか、メモリを多く必要としている処理なのか、などによって、パフォーマンス レベルを選択する形になります。

また、列ストア インデックスを利用するには、Premium エディションが必要であることや、Standard エディションと Premium エディションでは、性能面だけでなく、復元ポイントが異なったり(Standard は 14日、Premium は 35日)、ジオ レプリケーション(データセンターをまたがったデータベースの複製)でのアクティブ セカンダリ(読み取り可能なセカンダリ)が作成できるかどうかなどが変わったりするので、そういった部分も加味して、エディションおよびパフォーマンス レベルを選択していく形になります。

◆ エディション、パフォーマンス レベルの変更

(2015年1月時点での情報)

Azure SQL Database では、パフォーマンス レベルを柔軟に変更することができます(24時間の間に最大 4回まで変更することができます)。

パフォーマンス レベルの変更は、次のように[データベースの構成]ブレードで、[価格層]をクリックすることで行えます。

00231

価格レベルの変更]ブレードが表示されたら、変更したいパフォーマンス レベルを選択して、[選択]ボタンをクリックします。

変更にかかる時間は、データベースのサイズによっても異なり、サイズが小さければ数分~数十分で完了しますが、データベース サイズが大きい場合には数時間かかる場合もあります。変更中は、次のように[通知]ブレードにメッセージが表示されます。

00232

変更中は、[データベースの構成]ブレードの[価格層]パネルが「更新中...」と表示されますが、更新が完了すると、次のように新しいパフォーマンス レベルが表示されます。

00233

パフォーマンス レベルの変更中は、変更が終わるまで、完全にデータベースが利用できなくなるわけではなく、変更中でも、ほとんどの時間を継続利用することができます(変更中でも、変更前のパフォーマンス レベルの性能で、通常と同じように操作することができます。課金についても、変更が完了するまでは、元のパフォーマンス レベルでの課金になります)。変更の最終フェーズでは、パフォーマンス レベルの切り替えが行われるのですが、そのタイミングのときのみデータベースへのアクセスができなくなります(接続が切れる形になります)。

なお、データベースのパフォーマンス レベルは、[SQL データベース]ブレードでまとめて確認することもできます。

00234

パフォーマンス レベルの変更や、価格の考え方などに関しては、「SQL Database 料金」ページ(以下の URL)の「FAQ」セクションも参照しておくことをお勧めします。

http://azure.microsoft.com/ja-jp/pricing/details/sql-database/

00235

目次へ | 前のページへ | 次のページへ

事例1

SQLQualityは執筆とセミナーを通じて技術の啓蒙やエンジニアの育成支援も行っています
最新刊
SQL Server 2016 の教科書
SQL Server 2016 の教科書(ソシム)

弊社オリジナル制作の
SQL Server 2016 自習書も
マイクロソフトのサイトで公開中!
ダウンロードはこちら
セミナー風景
セミナー風景

ロングセラー
ASP.NET でいってみよう  SQL Server 2000 でいってみよう
ASP.NET でいってみよう
第7刷 16,500 部発行
SQL Server 2000 でいってみよう
第12刷 28,500 部発行
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要(Amazon Kindle 書籍)

弊社執筆の
SQL Server 2014 自習書
マイクロソフトのサイトで公開中
目次はこちら

弊社執筆の
SQL Server 2012 自習書
マイクロソフトのサイトで公開中
ダウンロードはこちら
松本美穂のコラム
(公開活動などのお知らせ)

第60回:SQL Server 2017 自習書 No.3「SQL Server 2017 Machine Learning Services」のご案内
第59回:SQL Server 2017 自習書 No.2「SQL Server 2017 on Linux」のご案内
第58回:SQL Server 2017 自習書 No.1「SQL Server 2017 新機能の概要」のご案内
第57回:SQL Server 2017 RC 版とこれまでのドキュメントのまとめ
第56回:「SQL Server 2016 への移行とアップグレードの実践」完成&公開!
第55回:書籍「SQL Server 2016の教科書 開発編」(ソシム)が発刊されました
第54回:「SQL Server 2016 プレビュー版 Reporting Services の新機能」自習書のお知らせ
第 53 回:SQL Server 2016 Reporting Services の新しくなったレポート マネージャーとモバイル レポート機能
第 52 回:SQL Server 2016 の自習書を作成しました!
第 51 回:PASS Summit と MVP Summit で進化を確信!
第 50 回:新しくなった Power BI(2.0)の自習書を作成しました!
第49 回:Excel 2016 の Power Query を使う
第 48 回:新しくなった Microsoft Power BI ! 無料版がある!!
第 47 回:「Microsoft Azure SQL Database 入門」 完成&公開!
第 46 回:Microsoft Power BI for Windows app からの Power BI サイト アクセス
第 45 回:Power Query で取得したデータを PowerPivot へ読み込む方法と PowerPivot for Excel 自習書のご紹介
第44回:「SQL Server 2014 への移行とアップグレードの実践」ドキュメントを作成しました
第43回:SQL Server 2014 インメモリ OLTP 機能の上級者向けドキュメントを作成しました
第42回:Power Query プレビュー版 と Power BI for Office 365 へのクエリ保存(共有クエリ)
第41回:「SQL Server 2014 CTP2 インメモリ OLTP 機能の概要」自習書のお知らせです
第40回: SQL Server 2012 自習書(HTML版)を掲載しました
第39回: Power BI for Office 365 プレビュー版は試されましたか?
第38回: SQL Server 2014 CTP2 の公開
第37回: SQL Server 2014 CTP1 の自習書をご覧ください
第36回: SQL Server 2014 CTP1 のクラスター化列ストア インデックスを試す
第35回: SQL Server 2014 CTP1 のインメモリ OLTP の基本操作を試す
第34回: GeoFlow for Excel 2013 のプレビュー版を試す
第33回: iPad と iPhone からの SQL Server 2012 Reporting Servicesのレポート閲覧
第32回: PASS Summit 2012 参加レポート
第31回: SQL Server 2012 Reporting Services 自習書のお知らせ
第30回: SQL Server 2012(RTM 版)の新機能 自習書をご覧ください
第29回: 書籍「SQL Server 2012の教科書 開発編」のお知らせ
第26回: SQL Server 2012 の Power View 機能のご紹介
第25回: SQL Server 2012 の Data Quality Services
第24回: SQL Server 2012 自習書のご案内と初セミナー報告
第23回: Denali CTP1 が公開されました
第22回 チューニングに王道あらず
第21回 Microsoft TechEd 2010 終了しました
第20回 Microsoft TechEd Japan 2010 今年も登壇します
第19回 SQL Server 2008 R2 RTM の 日本語版が公開されました
第18回 「SQL Azure 入門」自習書のご案内
第17回 SQL Server 2008 自習書の追加ドキュメントのお知らせ
第16回 SQL Server 2008 R2 自習書とプレビュー セミナーのお知らせ
第15回 SQL Server 2008 R2 Reporting Services と新刊のお知らせ
第14回 TechEd 2009 のご報告と SQL Server 2008 R2 について
第13回 SQL Server 2008 R2 の CTP 版が公開されました
第12回 MVP Summit 2009 in Seattle へ参加

技術コミュニティでも活動中