Upload
takaaki-nishioka
View
384
Download
6
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
Azure SQL データベース最新動向&パフォーマンス
8/13 国際左利きの日
2/37
1. はじめに
2. Azure SQL データベースの最新動向
3. 内部構造(アーキテクチャ)
4. パフォーマンス改善
5. まとめ
今日のアジェンダ2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
3/37
※CDP: クラウドデザインパターンの略、クラウドの設計方式を暗黙知から形式知にしたもの
自己紹介 @nishiokya
SQL Server より MySQL や PostgreSQL に詳しい
開発から運用までやってます
好きな Azure サービス
モバイルサービス
好きな CDP
サーキットブレーカー
はじめに2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
Azure SQL データベース最新動向
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
5/37
Azure SQL データベースとは
2014/04 新機能の報告
基本と標準、プレミアムについて
新しい性能基準
新しい冗長性/バックアップ
新機能のまとめ
新しいティアの利用方法
最新動向の目次2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
6/37
フルマネージドのデータベースサービス
SQL Server のサブセット
マルチテナント方式
Azure SQL データベースとは2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
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 . はじめ
に
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 . はじめ
に
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 . はじめ
に
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 . はじめ
に
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 . はじめ
に
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 . はじめ
に
13/37
事前申請が必要 (2014/8 現在 ) http://azure.microsoft.com/ja-jp/services/preview/
課金アカウントからのみ申請可能
即利用可能 ( プレミアムは1週間くら
い)
DB 作成、 DB の切り替えどちらも
OK
新しいティアの利用方法2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
14/37
1. ディスクサイズによる課金がなくなった
2. 移行の問題はなさそう
標準 (S2) は Business の最大サイズより安い
Azure Federation はサポート外
3. CPU の使用率が取れるようになりました
新機能のまとめ2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
内部構造(アーキテクチャ)Azure SQL データベース
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
16/37
基本構成
接続のシーケンス
フェイルオーバのシーケンス
スロットリング
アーキテクチャの目次2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
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 . はじめに
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 . はじめ
に
19/37
フェイルオーバーのシーケンス
① プライマリに障害があると、②他の物理サーバが検知し、
③ Master Cluster に通知、④ Master Cluster がどのセカン
ダリを昇格するかを決定、⑤セカンダリがプライマリに昇格
検知後30秒で切り替えが完了
フェイルオーバーの主な例
定期メンテナンス適用
ハードウェアトラブル
ソフトウェアトラブル
2台死ぬと、サービス停止
セカンダリ
Frontend Cluster
プライマリ
セカンダリ
監視 監視 監視
Master Cluster
Platform Layer
×①②
③
④
プライマリ
⑤
×
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
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 . はじめ
に
21/37
マシンを守るため DB 接続を強制
的クローズする機構
1. リソース使用量と閾値をリア
ルタイムに比較
2. 最もリソースを使用している
DB を制限
エラーコード“40501” をメッ
セージ対処表のせる
スロットリング
スロットリングの種類
一時ディスク領域の問題が発生しました
一時ログのスペースの問題が発生しました
大量のトランザクション / 書き込み / 更新アクティビティが存在します。
高ボリューム データベース入力 / 出力 (I/O) 処理が存在します。
高ボリュームの CPU アクティビティが存在します。
データベースのクォータを超過しました
あまりにも多くの同時要求が発生しました
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
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 . はじめに
パフォーマンス改善Azure SQL データベース関連
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
24/37
パフォーマンス改善の基本
パフォーマンス改善サービス一覧
SQL データベース プレミアム
Azure Federation
Data Sync
仮想マシンにおける SQL Server
Cache (クラウドデザインパターン)
サービス比較
まとめ
パフォーマンス改善の目次2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
25/37
1. SQL/INDEX チューニング
2. サーバー
スケールアップ
スケールアウト
3. テーブル分割
4. CACHE
パフォーマンス改善の基本2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
今回の範囲
26/37
パフォーマンス改善サービス
サービス名(他 ) タイプ 概要プレミアム スケールアウト
スケールアップSQL データベースの新ティアの最上級
Azure Federation テーブル分割(スケールアウト)
SQL データベースのサービス新ティアでは非サポート
データ同期 スケールアウト SQL データベースのサービス
仮想マシンの SQL Server
スケールアップ Iaas 利用
Custom Sharding テーブル分割(スケールアウト)
テーブル分割の独自実装※ 今回は説明しません
Cash-Aside Cache クラウドデザインパターンの一つ
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
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 . はじめ
に
28/37
指定したキーでテーブル分割を別サーバに自動分割したスケー
ルアウト可能(レンジ分割)
アプリ側でキーの範囲を把握し、
アクセスする必要がある
新ティアでの非サポート
Azure Federation
出典 : Sharding With SQL Azurehttp://blogs.msdn.com/b/sqlazure/archive/2010/12/23/10108670.aspx
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
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 . はじめ
に
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 . はじめ
に
31/37
Cache-Aside デザインパターン
DB より安価な Cache を利用してパフォーマンス向上
クラウドデザインパターンにはいろいろな Cache 利
用案あります)
① Cache があるか確認
② Cache が無い場合に
Data Store から読み取る
③ Cache に書き込む
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
32/37
各サービスコスト比較
独断なので根拠はないのでイメージ
改善サービス 利用料 開発 おすすめ
プレミアム × ◎ フルマネージドでやりたいならAzure Federation ○ △ 概要だけ見ておけばよい
データ同期 ○ ○ 5分遅延が許されれば
仮想マシンの SQL Server
× ○ お金があればこれが一番
Custom sharding ○ × カスタマイズしやすいCash-Aside ◎ ○ 安くあがる
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
33/37
1. 構成を変えずにスケールアウトするにはプレミアム
プレミアム (P2)+レプリカ 4 台 \ 474,300 / 月
2. 構成を変えずにスケールアップするには仮想マシン
SQL Server Standard の A9 の例 \538,806 / 月
3. 構成を変えないで、運用費を抑えてパフォーマンス
を上げる方法は少ない
パフォーマンンスのまとめ2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
まとめAzure SQL データベース関連
2 . 最新動向
3 . 内部構造
4 . パフォーマンス 5 . まとめ1 . はじめ
に
35/37
1. ティアの移行は計画的に!
2. リトライ&ログ
3. プレミアムや IAAS はお金がかかる
クラウドデザインパターンでチープ/スケールしや
すい設計
まとめのまとめ2 . 最新動
向3 . 内部構
造4 . パフォーマン
ス 5 . まとめ1 . はじめに
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 )
参考情報