Weitere ähnliche Inhalte Ähnlich wie Azure SQLデータベース最新動向&TIPS (20) Azure SQLデータベース最新動向&TIPS2. 2/37
今日のアジェンダ
1. はじめに
2. Azure SQLデータベースの最新動向
3. 内部構造(アーキテクチャ)
4. パフォーマンス改善
5. まとめ
1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
6. 6/37
Azure SQL データベースとは
フルマネージドのデータベースサービス
SQL Serverのサブセット
マルチテナント方式
1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
7. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
7/37
2009年8月18日
History
SQL Azure Database CTP版(プレビュー)のリリース
2013年1月
SQL Server 2012対応、BLOBへのバックアップ
2013年8月
新ティアプレミアムのプレビュー開始
2014年4月
新ティア基本、標準のプレビュー開始
SLA 99.95%に向上。
2015年4月
現状のティアWeb,Businessの終了予定
8. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
8/37
2014/04 新機能の報告
新しいティア発表(基本と標準、プレミアム)
最大サイズ500Gの変更
性能基準の変更(DTU)し性能保証
監査
冗長性/バックアップ
新しいティアはCPU使用量が取れます
出典: Azure SQL Database に新機能を導入
http://blogs.msdn.com/b/windowsazurej/archive/2014/08/08/blog-azure-sql-database-adds-new-features.aspx
9. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
基本と標準、プレミアムについて
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
10. ¥20,400
10/37
新旧ティアの価格比較
月額料金の比較(プレビュー後)
¥1,426
¥4,080
基本
Web(2G)
標準(S1)
ビジネス(10G)
標準(S2)
出典:SQL データベースの料金詳細
http://azure.microsoft.com/ja-jp/pricing/details/sql-database/#basic-standard-and-premium
¥23,028
¥4,687
¥510
ビジネス(150G)
1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
11. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
ティアごとのDTUs比較
11/37
新しい性能基準
DTUs(データベーススループットユニット)
DTUs は、CPU、メモリ、物理的な読み
取り、トランザクションログの書き込み
が1 つにまとめられた単位
5 DTU は、1 DTU のパフォーマンスレ
ベルよりも5 倍
Azure SQL Database Benchmark
(ASDB) というベンチマークの結果に基
づいたパフォーマンスレベルの指標値
800
15
100
200
50
5
0 400 800
基本
標準(S1)
標準(S2)
プレミアム
(P1)
プレミアム
(P2)
プレミアム
(P3)
12. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
12/37
新しい冗長性/バックアップ
①地理レプリケーション(レプリカ)
非同期にデータをレプリケーション
標準以上で利用可能。申し込み必要
標準とプレミアムで機能が違う
プレミアムのレプリカは読み取り可能
②セルフサービス復元サポート(リストア)
基本から利用可能。申し込み不要
セルフサービスリストア
主な障害
シナリオ
デフォルト① ②
サーバ障害○
データセン
ター障害- ○
データ損失△ ○
出典:SQL Database のアクティブ地理レプリケーションの詳細
http://blogs.msdn.com/b/windowsazurej/archive/2014/07/22/blog-spotlight-on-sql-database-active-geo-replication.aspx
16. 16/37
アーキテクチャの目次
基本構成
接続のシーケンス
フェイルオーバのシーケンス
スロットリング
1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
18. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
18/37
DBの接続シーケンス
1. SESSION 1 新規接続
① クライアントがFrontEnd Clusterに接続
② Utility Layerでユーザ認証とFWの確認
③ Master Clusterで物理DBを調査
④ 物理DBに接続
2. SESSION2 コネクション接続後
A) クライアントがFrontEnd Clusterに接続
B) 物理DBに接続(Frontend Clusterはプロク
シーするだけ)
Client
A)
Frontend
Cluster
Master
Cluster
Platform layer
(物理DB)
Utility
Layer
①
②
④ ③
B)
20. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
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
21. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
21/37
スロットリング
マシンを守るためDB接続を強
制的クローズする機構
1. リソース使用量と閾値をリ
アルタイムに比較
2. 最もリソースを使用してい
るDBを制限
エラーコード“40501”をメッ
セージ対処表のせる
スロットリングの種類
一時ディスク領域の問題が発生しました
一時ログのスペースの問題が発生しました
大量のトランザクション/書き込み/更新ア
クティビティが存在します。
高ボリュームデータベース入力/出力(I/O)
処理が存在します。
高ボリュームのCPU アクティビティが存
在します。
データベースのクォータを超過しました
あまりにも多くの同時要求が発生しました
24. 24/37
パフォーマンス改善の目次
パフォーマンス改善の基本
パフォーマンス改善サービス一覧
SQLデータベースプレミアム
Azure Federation
Data Sync
仮想マシンにおけるSQL Server
Cache(クラウドデザインパターン)
サービス比較
まとめ
1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
25. 25/37
パフォーマンス改善の基本
1. SQL/INDEXチューニング
2. サーバー
スケールアップ
スケールアウト
3. テーブル分割
4. CACHE
1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
今回の範囲
26. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
26/37
パフォーマンス改善サービス
サービス名(他) タイプ概要
プレミアムスケールアウト
スケールアップ
SQLデータベースの新ティア
の最上級
Azure Federation テーブル分割
(スケールアウト)
SQLデータベースのサービス
新ティアでは非サポート
データ同期スケールアウトSQLデータベースのサービス
仮想マシンのSQL Server スケールアップIaas利用
Custom Sharding テーブル分割
(スケールアウト)
テーブル分割の独自実装
※今回は説明しません
Cash-Aside Cache クラウドデザインパターンの
一つ
27. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
SQLデータベースプレミアム
27/37
占有型のためスロットリングがない
パフォーマンス保証
3種のリソース(CPU、メモリ、IO
など)タイプがありスケールアップ
可能
最大4台セカンダリレプリカによる
スケールアウト対応
Windows Azure SQLデータベース向けのプレミアム機能の詳細
http://satonaoki.wordpress.com/2013/07/10/azure-sql-db-premium/
DT
U
ス
レッ
ド
Max
Session
トランザ
クション
レート
P1 100 200 2,000 98 /sec
P2 200 400 4,000 192/sec
P3 800 1,600 16,000 730/sec
プレミアムのサイズ
28. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
28/37
Azure Federation
指定したキーでテーブル分割を
別サーバに自動分割したスケール
アウト可能(レンジ分割)
アプリ側でキーの範囲を把握し、
アクセスする必要がある
新ティアでの非サポート
出典: Sharding With SQL Azure
http://blogs.msdn.com/b/sqlazure/archive/2010/12/23/10108670.aspx
29. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
29/37
データ同期(Data Sync)
データのバックアップ用やオンプレ連携ツール
リードレプリケーションとして5台利用したス
ケールアウト可能
同期頻度の最小タイムは5分
出典:Azure SQL データ同期の概要
http://azure.microsoft.com/ja-jp/documentation/articles/sql-database-get-started-sql-data-sync/
30. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
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/
31. Cache-Asideデザインパターン
31/37
DBより安価なCacheを利用してパフォーマンス向上
クラウドデザインパターンにはいろいろなCache利用案
あります)
① Cacheがあるか確認
② Cacheが無い場合にData
Storeから読み取る
③ Cacheに書き込む
1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
32. 1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
32/37
各サービスコスト比較
独断なので根拠はないのでイメージ
改善サービス利用料開発おすすめ
プレミアム× ◎ フルマネージドでやりたいなら
Azure Federation ○ △ 概要だけ見ておけばよい
データ同期○ ○ 5分遅延が許されれば
仮想マシンのSQL
× ○ お金があればこれが一番
Server
Custom sharding ○ × カスタマイズしやすい
Cash-Aside ◎ ○ 安くあがる
35. 35/37
まとめのまとめ
1. ティアの移行は計画的に!
2. リトライ&ログ
3. プレミアムやIAASはお金がかかる
クラウドデザインパターンでチープ/スケールしや
すい設計
1.はじめに2.最新動向3.内部構造4.パフォーマンス5.まとめ
36. 36/37
1. 内部構造
参考情報
Inside Microsoft Azure SQL Database
http://social.technet.microsoft.com/wiki/contents/articles/1
695.inside-microsoft-azure-sql-database.aspx
2. パフォーマンス
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
3. クラウドデザインパターン
クラウドデザインパターンAzureを例としたクラウドアフリケー
ション設計の手引き(ISBN: 4822298337)
Hinweis der Redaktion 無料で使える
コードが少なくてすむ
サーキットブレーカー
金融用語で、取引を停止したり値幅を規制すること、クラウドでは、障害が起きた外部サービスが停止しても提供する機能を動かして置く機構と、障害が起きた外部サービスに過剰な負荷がかからないようにするつまみを作ることです
一次ソースを元に数字は書いていますが古くなった情報等があったら申し訳ないです 150->500G ASDB(Azure SQL Database Benchmark )
ASDB は、OLTP ワークロードで最も頻繁に発生するさまざまな基本的なデータベース操作のパフォーマンスを測定
画像は削除する ◎物理サーバの前にFlontend Clusterがある。プライマリ物理サーバに障害があると、他の物理サーバが検知しFrontend Clusterに通知し
プライマリ、セカンダリとの切り替えのインシデント
定期メンテナンスによるパッチ適用
OS(Windows UpdateでCritical)
ファームウエア
SQLデータベース(2、3ヶ月に一度)
サーバのハードウェアトラブル
サーバのソフトウェアトラブル
ロードバランサーの切り替えに最大30秒
2台死ぬと、サービス停止(なんでや)
サービスシステムリソースを大量に長い時間使用されることからマシンを守る
実際のリソース使用量と安全閾値をリアルタイムに 比較評価
最もリソースを使用しているDBを制限 (ソフトな制限)
今のデータベースまたはサーバが限界につかづいているのかがわかります
データベースならパフォーマンスチューニング、サーバなら切り替え
画像
http://lets.postgresql.jp/documents/technical/partitioning/1
Azure SQLデータベースには プレミアムとというコースがあります
先ほど話した通り共用のSQLデータベース ですが、プレミアムにすることでサーバを占有できます。
またプレミアムの機能として特徴として
スロットリング機構がない(同時リクエストの制限が大きい)
Self-Service Restore で最大過去35日までのデータで任意の日時に戻せます
Active Geo-Replication で最大4箇所の読み取り専用セカンダリレプリカ作成することができます
用途に合わせて3種類のCPU,メモリから選択できます
プレミアムには現在3種類定義があります
P1 1Core、8GB RAM 月当たり5万円
P2 2Cores,16GB RAM 月当たり10万円
P3 4Cores,16GB RAM 月当たり40万円
また近い将来P4というものも準備されているとのことです
リソース (CPU、メモリ、IO など)
SQL Azure フェデレーションの説明
データ同期の説明
1つのデータベース内にスケールアウトする必要性があるテーブルを別サーバに分割することができます。
これにより150Gを超えるデータ量を扱うことができますし
データ増大した場合のパフォーマンス対策にもなります。
また最近データ同期
また、あとからぶ動的にデータをパーティションキーを変更することができます