36
Azure SQL デデデデデデ デデデデ デデデデデデデ 8/13 デデデデデデデ

Azure SQLデータベース最新動向&TIPS

Embed Size (px)

DESCRIPTION

Azure SQLデータベースの最新動向と内部構造、パフォーマンス改善で利用できるサービスを網羅的に説明 社内セミナー用に作成した資料の転載です この辺りの資料を参考に作りました Inside Microsoft Azure SQL Database http://social.technet.microsoft.com/wiki/contents/articles/1695.inside-microsoft-azure-sql-database.aspx Gaining Performance Insight into Windows Azure SQL Database http://social.technet.microsoft.com/wiki/contents/articles/3507.windows-azure-sql-database-performance-and-elasticity-guide.aspx

Citation preview

Page 1: Azure SQLデータベース最新動向&TIPS

Azure SQL データベース最新動向&パフォーマンス

8/13 国際左利きの日

Page 2: Azure SQLデータベース最新動向&TIPS

2/37

1. はじめに

2. Azure SQL データベースの最新動向

3. 内部構造(アーキテクチャ)

4. パフォーマンス改善

5. まとめ

今日のアジェンダ2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 3: Azure SQLデータベース最新動向&TIPS

3/37

※CDP: クラウドデザインパターンの略、クラウドの設計方式を暗黙知から形式知にしたもの 

自己紹介 @nishiokya

SQL Server より MySQL や PostgreSQL に詳しい

開発から運用までやってます

好きな Azure サービス 

モバイルサービス

好きな CDP

サーキットブレーカー

はじめに2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 4: Azure SQLデータベース最新動向&TIPS

Azure SQL データベース最新動向

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 5: Azure SQLデータベース最新動向&TIPS

5/37

Azure SQL データベースとは

2014/04 新機能の報告

基本と標準、プレミアムについて

新しい性能基準

新しい冗長性/バックアップ

新機能のまとめ

新しいティアの利用方法

最新動向の目次2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 6: Azure SQLデータベース最新動向&TIPS

6/37

フルマネージドのデータベースサービス

SQL Server のサブセット

マルチテナント方式

Azure SQL データベースとは2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 7: Azure SQLデータベース最新動向&TIPS

7/37

2009 年 8 月 18 日

SQL Azure Database CTP 版(プレビュー)のリリース

2013 年 1 月

SQL Server 2012 対応、 BLOB へのバックアップ

2013 年 8 月

新ティア プレミアムのプレビュー開始

2014 年 4 月

新ティア 基本、標準のプレビュー開始

SLA 99.95% に向上。

2015 年 4 月

現状のティア Web,Business の終了予定

History

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 8: Azure SQLデータベース最新動向&TIPS

8/37

新しいティア発表(基本と標準、プレミアム)

最大サイズ 500G の変更

性能基準の変更 (DTU) し性能保証

監査

冗長性/バックアップ

新しいティアは CPU 使用量が取れます

2014/04 新機能の報告

出典 : Azure SQL Database に新機能を導入http://blogs.msdn.com/b/windowsazurej/archive/2014/08/08/blog-azure-sql-database-adds-new-features.aspx

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 9: Azure SQLデータベース最新動向&TIPS

9/37

サービススペック(月額はプレビュー期間のため50%)

基本と標準、プレミアムについて

ティア DTU サイズ 復元ポイント 月額 旧 Tier

基本 5 2GB 7日間 255 円 Web(5G)

標準 (S1) 15 250GB 14 日間 2,040 円 Business

標準 (S2) 50 250GB 14 日間 10,200 円 Business

プレミアム (P1) 100 500GB 35 日間 47,439 円

プレミアム (P2) 200 500GB 35 日間 94,860 円

プレミアム (P3) 800 500GB 35 日間 379,440円出典: Azure SQL Database Service Tiers

http://msdn.microsoft.com/en-us/library/azure/dn741340.aspx

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 10: Azure SQLデータベース最新動向&TIPS

10/37

月額料金の比較(プレビュー後 )

新旧ティアの価格比較

出典: SQL データベースの料金詳細http://azure.microsoft.com/ja-jp/pricing/details/sql-database/#basic-standard-and-premium

ビジネス (150G)

標準 (S2)

ビジネス( 10G)

標準 (S1)

Web(2G)

基本

¥23,028

¥20,400

¥4,687

¥4,080

¥1,426

¥510

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 11: Azure SQLデータベース最新動向&TIPS

11/37

DTUs( データベース スループット ユニット

)

DTUs は、 CPU 、メモリ、物理的な読

み取り、トランザクション ログの書き

込みが 1 つにまとめられた単位

5 DTU は、 1 DTU のパフォーマンス

レベルよりも 5 倍

Azure SQL Database Benchmark

(ASDB) というベンチマークの結果に基

づいたパフォーマンス レベルの指標値

新しい性能基準

プレミアム(P3)

プレミアム(P2)

プレミアム(P1)

標準 (S2)

標準 (S1)

基本

0 400 800

800

200

100

50

15

5

ティアごとの DTUs比較

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 12: Azure SQLデータベース最新動向&TIPS

12/37

① 地理レプリケーション(レプリカ)

非同期にデータをレプリケーション

標準以上で利用可能。申し込み必要

標準とプレミアムで機能が違う

プレミアムのレプリカは読み取り可能

② セルフサービス復元サポート(リストア)

基本から利用可能。申し込み不要

セルフサービスリストア

新しい冗長性/バックアップ

主な障害シナリオ デフォルト ① ②

サーバ障害 ○

データセンター障害

- ○

データ損失 △ ○

出典: SQL Database のアクティブ地理レプリケーションの詳細http://blogs.msdn.com/b/windowsazurej/archive/2014/07/22/blog-spotlight-on-sql-database-active-geo-replication.aspx

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 13: Azure SQLデータベース最新動向&TIPS

13/37

事前申請が必要 (2014/8 現在 ) http://azure.microsoft.com/ja-jp/services/preview/

課金アカウントからのみ申請可能

即利用可能 ( プレミアムは1週間くら

い)

DB 作成、 DB の切り替えどちらも

OK

新しいティアの利用方法2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 14: Azure SQLデータベース最新動向&TIPS

14/37

1. ディスクサイズによる課金がなくなった

2. 移行の問題はなさそう

標準 (S2) は Business の最大サイズより安い

Azure Federation はサポート外

3. CPU の使用率が取れるようになりました

新機能のまとめ2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 15: Azure SQLデータベース最新動向&TIPS

内部構造(アーキテクチャ)Azure SQL データベース

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 16: Azure SQLデータベース最新動向&TIPS

16/37

基本構成

接続のシーケンス

フェイルオーバのシーケンス

スロットリング

アーキテクチャの目次2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 17: Azure SQLデータベース最新動向&TIPS

17/37

3500$ 位の物理サーバ (32 GB RAM 8 cores 12Disk)

仮想マシン XL が 14GB RAM 8cores ( 45,500 円 / 月 )

1000 台で1クラスタを構成

1台に最大 150 データベース

1データベースは3台の配置

マスター 1 台、セカンダリー2台

基本構成2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 18: Azure SQLデータベース最新動向&TIPS

18/37

1. SESSION 1 新規接続

① クライアントが FrontEnd Cluster に接続

② Utility Layer でユーザ認証と FW の確認

③ Master Cluster で物理 DB を調査

④ 物理 DB に接続

2. SESSION2 コネクション接続後

A) クライアントが FrontEnd Cluster に接続

B) 物理 DB に接続( Frontend Cluster はプロク

シーするだけ)

DB の接続シーケンス

Client

Frontend Cluster

Master Cluster

Platform layer

( 物理 DB )

Utility

Layer

③④

A)

B)

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 19: Azure SQLデータベース最新動向&TIPS

19/37

フェイルオーバーのシーケンス

① プライマリに障害があると、②他の物理サーバが検知し、

③ Master Cluster に通知、④ Master Cluster がどのセカン

ダリを昇格するかを決定、⑤セカンダリがプライマリに昇格

検知後30秒で切り替えが完了

フェイルオーバーの主な例

定期メンテナンス適用

ハードウェアトラブル

ソフトウェアトラブル

2台死ぬと、サービス停止

セカンダリ

Frontend Cluster

プライマリ

セカンダリ

監視 監視 監視

Master Cluster

Platform Layer

×①②

プライマリ

×

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 20: Azure SQLデータベース最新動向&TIPS

20/37

.NET の既定の設定では、接続タイムアウトを完全に

回避することは困難

1. 接続タイムアウト (既定 15 秒 ) を 30 秒以上

Connection Timeout=30

2. 接続タイムアウト発生時に、接続の再試行を実施

3. 接続の再試行間隔は 10 秒 ( 最低 5 秒以上 )

接続設定の注意点

出典:Windows Azure SQL データベースに接続する際に発生するタイムアウトへの対処方法http://msdn.microsoft.com/ja-jp/windowsazure/dn221935.aspx

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 21: Azure SQLデータベース最新動向&TIPS

21/37

マシンを守るため DB 接続を強制

的クローズする機構

1. リソース使用量と閾値をリア

ルタイムに比較

2. 最もリソースを使用している

DB を制限

エラーコード“40501” をメッ

セージ対処表のせる

スロットリング

スロットリングの種類

一時ディスク領域の問題が発生しました

一時ログのスペースの問題が発生しました

大量のトランザクション / 書き込み / 更新アクティビティが存在します。

高ボリューム データベース入力 / 出力 (I/O) 処理が存在します。

高ボリュームの CPU アクティビティが存在します。

データベースのクォータを超過しました

あまりにも多くの同時要求が発生しました

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 22: Azure SQLデータベース最新動向&TIPS

22/37

1. 接続処理に3つのサーバを経由する

2. 接続エラーがあったら30秒待つ

Connection Timeout=30

3. スロットリングのログを取っておく

40501: The service is currently busy. Retry the

request after 10 seconds.

内部構造のまとめ2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 23: Azure SQLデータベース最新動向&TIPS

パフォーマンス改善Azure SQL データベース関連

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 24: Azure SQLデータベース最新動向&TIPS

24/37

パフォーマンス改善の基本

パフォーマンス改善サービス一覧

SQL データベース プレミアム

Azure Federation

Data Sync

仮想マシンにおける SQL Server  

Cache (クラウドデザインパターン)

サービス比較

まとめ

パフォーマンス改善の目次2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 25: Azure SQLデータベース最新動向&TIPS

25/37

1. SQL/INDEX チューニング

2. サーバー

スケールアップ

スケールアウト

3. テーブル分割

4. CACHE

パフォーマンス改善の基本2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

今回の範囲

Page 26: Azure SQLデータベース最新動向&TIPS

26/37

パフォーマンス改善サービス

サービス名(他 ) タイプ 概要プレミアム スケールアウト

スケールアップSQL データベースの新ティアの最上級

Azure Federation テーブル分割(スケールアウト)

SQL データベースのサービス新ティアでは非サポート

データ同期 スケールアウト SQL データベースのサービス

仮想マシンの SQL Server

スケールアップ Iaas 利用

Custom Sharding テーブル分割(スケールアウト)

テーブル分割の独自実装※ 今回は説明しません

Cash-Aside Cache クラウドデザインパターンの一つ

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 27: Azure SQLデータベース最新動向&TIPS

27/37

占有型のためスロットリングがない

パフォーマンス保証

3種のリソース (CPU 、メモリ、 IO

など ) タイプがありスケールアップ可能

最大4台セカンダリレプリカによるス

ケールアウト対応

SQL データベース プレミアム

Windows Azure SQLデータベース向けのプレミアム機能の詳細http://satonaoki.wordpress.com/2013/07/10/azure-sql-db-premium/

DTU

スレッド

MaxSessio

n

トランザクションレート

P1 100

200 2,000 98 /sec

P2 200

400 4,000 192/sec

P3 800

1,600 16,000 730/secプレミアムのサイズ

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 28: Azure SQLデータベース最新動向&TIPS

28/37

指定したキーでテーブル分割を別サーバに自動分割したスケー

ルアウト可能(レンジ分割)

アプリ側でキーの範囲を把握し、

アクセスする必要がある

新ティアでの非サポート

Azure Federation

出典 : Sharding With SQL Azurehttp://blogs.msdn.com/b/sqlazure/archive/2010/12/23/10108670.aspx

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 29: Azure SQLデータベース最新動向&TIPS

29/37

データのバックアップ用やオンプレ連携ツール

リードレプリケーションとして 5 台利用した

スケールアウト可能

同期頻度の最小タイムは5分

データ同期 (Data Sync)

出典: Azure SQL データ同期の概要http://azure.microsoft.com/ja-jp/documentation/articles/sql-database-get-started-sql-data-sync/

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 30: Azure SQLデータベース最新動向&TIPS

30/37

SQL Server の全機能が利用

可能

プレミアよりハイスペック

なスケールアップが可能

冗長性対策が必要

仮想マシンにおける SQL Server  

インスタンス

コア メモリ 目的

A4(XL)

8 14G 汎用

A6 4 28G メモリA7,A8 8 56G メモリ・コンピュー

ティングA9 16 112G コンピューティング

出典: Virtual Machines の料金詳細http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 31: Azure SQLデータベース最新動向&TIPS

31/37

Cache-Aside デザインパターン

DB より安価な Cache を利用してパフォーマンス向上

クラウドデザインパターンにはいろいろな Cache 利

用案あります)

① Cache があるか確認

② Cache が無い場合に             

Data Store から読み取る

③ Cache に書き込む

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 32: Azure SQLデータベース最新動向&TIPS

32/37

各サービスコスト比較

独断なので根拠はないのでイメージ

改善サービス 利用料 開発 おすすめ

プレミアム × ◎ フルマネージドでやりたいならAzure Federation ○ △ 概要だけ見ておけばよい

データ同期 ○ ○ 5分遅延が許されれば

仮想マシンの SQL Server

× ○ お金があればこれが一番

Custom sharding ○ × カスタマイズしやすいCash-Aside ◎ ○ 安くあがる

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 33: Azure SQLデータベース最新動向&TIPS

33/37

1. 構成を変えずにスケールアウトするにはプレミアム

プレミアム (P2)+レプリカ 4 台 \ 474,300 / 月

2. 構成を変えずにスケールアップするには仮想マシン

SQL Server Standard の A9 の例 \538,806 / 月

3. 構成を変えないで、運用費を抑えてパフォーマンス

を上げる方法は少ない

パフォーマンンスのまとめ2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 34: Azure SQLデータベース最新動向&TIPS

まとめAzure SQL データベース関連

2 . 最新動向

3 . 内部構造

4 . パフォーマンス 5 . まとめ1 . はじめ

Page 35: Azure SQLデータベース最新動向&TIPS

35/37

1. ティアの移行は計画的に!

2. リトライ&ログ

3. プレミアムや IAAS はお金がかかる

クラウドデザインパターンでチープ/スケールしや

すい設計

まとめのまとめ2 . 最新動

向3 . 内部構

造4 . パフォーマン

ス 5 . まとめ1 . はじめに

Page 36: Azure SQLデータベース最新動向&TIPS

36/37

1. 内部構造

Inside Microsoft Azure SQL Database

http://

social.technet.microsoft.com/wiki/contents/articles/1695.in

side-microsoft-azure-sql-database.aspx

2. パフォーマンス Gaining Performance Insight into Windows Azure SQL

Database

http://

social.technet.microsoft.com/wiki/contents/articles/3507.windo

ws-azure-sql-database-performance-and-elasticity-guide.aspx

3. クラウドデザインパターン

クラウドデザインパターン Azure を例としたクラウドアフリ

ケーション設計の手引き( ISBN: 4822298337 )

参考情報