Upload
-
View
7.638
Download
1
Embed Size (px)
DESCRIPTION
Azure sql database 入門 2014年10月版 新しいサービス層、アップデートなどの情報を追ってみましょう。
Citation preview
蒼の王座http://sqlazure.jp/b/
Azure SQL Database 入門大和屋貴仁
蒼の王座http://sqlazure.jp/b/
大和屋貴仁インフラエンジニアMicrosoft MVP for Windows Azure
@t_yamatoyahttp://sqlazure.jp/b/
蒼の王座http://sqlazure.jp/b/
Azure SQL Database
マイクロソフトがデータベース管理の大部分を引き受けたマネージドサービスです
SQL Server相当のデータベースをすぐに使い始められバックアップなどの自動的に実施される
蒼の王座http://sqlazure.jp/b/
ハードウェア用意して、OSインストールして、SQL Serverインストールして、データベースの物理設計して、バックアップ設計して、データベースの論理設計して・・・
そんな作業をマイクロソフトがベストな状態で提供するのが、Azure SQL Databaseですよね
蒼の王座http://sqlazure.jp/b/
Azure SQL Databaseサーバーサーバー
Azure SQL ゲートウェイサービス
スケーラビリティ&アベイラビリティ:ファブリック、フェイルオーバー、ロードバランス
論理的概念、エンドポイント事実上、無限にデータベースを作成できる•サーバーのリソースを気にしなくて良い
蒼の王座http://sqlazure.jp/b/
xxxxx.database.windows.net一昔前までは、サーバー名はランダムな文字列でした。
8月ぐらいから、任意の文字列を指定できるようになりました。
蒼の王座http://sqlazure.jp/b/
データベースとサーバーサーバー:論理的な括りデータベース:物理サーバーにホストされる
同じサーバー上のDBでも、稼働している物理サーバーは異なる。DB相互でのアクセスは不可能
test1.dbo.humantest2.dbo.div一つのクエリで同時に使用できないUSE句etc
蒼の王座http://sqlazure.jp/b/
データベースの冗長化
Read:プライマリで完結
Write:セカンダリにレプリケートされる
DBロジカルデータベー
ス
P
SS WriteWrite
AckAck
ReadValue WriteAck
P
S
S
デフォルトで 3冗長化(プライマリと 2つのセカンダリ)される
蒼の王座http://sqlazure.jp/b/
クラスター化インデックスAzure SQL Databaseのレプリケーションは独自実装。クラスター化インデックスが必須の仕組み。
クラスター化インデックスが無いとテーブルにデータを挿入できない
蒼の王座http://sqlazure.jp/b/
Firewall
Services Layer
Services Layer
Internet
SQL Database Firewall
IP アドレスによるアクセス制御デフォルトでは全ての接続を拒否
サーバー単位、データベース単位で設定可能ポータル、 SQL、 APIで設定可能
SQL Database service tiers
新しいサービスレベル
蒼の王座http://sqlazure.jp/b/
価格体系データ容量課金からパフォーマンスレベルと時間単位での課金
3種類のサービスクラスとパフォーマンスレベル• Basic• Standard
S0、S1、S2• Premium
P1、P2、P3
パフォーマンスレベルはどうやって定義されるか?マイクロソフトが開発したAzure SQL Database Benchmarkを活用し、データベーススループットユニット(DTU)で表現する
蒼の王座http://sqlazure.jp/b/
提供機能差異Basic• DB最大サイズ:2GB•ポイントインタイム復元:7日•地理リストア
Standard• DB最大サイズ:250GB•ポイントインタイム復元:14日•標準の地理レプリケーション
Premium• DB最大サイズ:500GB•ポイントインタイム復元:35日•アクティブ地理レプリケーション
Point-in-time restore
ポイントインタイム復元
蒼の王座http://sqlazure.jp/b/
Azure SQLの組み込み自動バックアップ完全バックアップ:1週間に1回差分バックアップ:1日に1回トランザクションログバックアップ:5分に1回
完全バックアップと差分バックアップは地域間で一日一回レプリケートされる
蒼の王座http://sqlazure.jp/b/
同一論理サーバー内に対象のデータベースの特定時点の状態を新しいデータベースとして復元することができる
削除したデータベースも復元できる
Basic:7日以内Standard:14日以内Premium:35日以内
sabcp01bl21
sabcp02bl21
sabcp03bl21
新しいデータベースにリストア
LS XYZ
Copy backups to Azure Storage
DB
DB1
蒼の王座http://sqlazure.jp/b/
ポイントインタイム復元画面
Geo-Restore地理リストア
蒼の王座http://sqlazure.jp/b/
地理リストア完全バックアップと差分バックアップが自動的にBlobに格納されるそのBlobは地理レプリケーションが有効になっている
地理レプリケーションで作成された日次バックアップからデータベースを復元する
24時間以内の復旧、最大 24時間のデータロストが発生しうる
蒼の王座http://sqlazure.jp/b/
地理リストア画面地理リストアに利用可能なバックアップが表示される
蒼の王座http://sqlazure.jp/b/
地理リストア画面地理リストアに利用可能なバックアップが表示される
Standard Geo-Replication
標準地理レプリケーション
蒼の王座http://sqlazure.jp/b/
Standard Geo-Replicationプライマリデータベースのコミットされたトランザクションを非同期で複製する
•セカンダリデータベースはMS指定のDRペアリージョンに配置される•オフラインセカンダリ•データセンターがダウンした時(1時間後)のみフェールオーバーできる•インシデント24時間経過すると自動的にフェールオーバーする
2時間以内の復旧、30分のデータロストが発生しうる
Active Geo-Replication
アクティブ地理レプリケーション
蒼の王座http://sqlazure.jp/b/
Active Geo-Replication
最大 4つの読み取り専用セカンダリを作成できるトランザクションは非同期でレプリケートされるレプリケーションは手動で管理可能•リレーションシップをきると通常のデータベース
1時間以内の復旧、 5分以内のデータロストが発生しうる
蒼の王座http://sqlazure.jp/b/
Active Geo-Replication
Auditing監査ログ
監査ログ
SQL DatabaseAuditing
Auditlog
Application data
Azure Storage
蒼の王座http://sqlazure.jp/b/
監査ログ接続先
<server name>.database.secure.windows.net記録先
Azure Table記録対象• データへのアクセス• スキーマ変更• データの変更• アカウント、ロール、権限• セキュリティ例外
ツール• Azure ストレージ用のツール• Excelテンプレートと定義済みのダッシュボードとレポート
蒼の王座http://sqlazure.jp/b/
ポータルでのレポート直近24時間のイベント最短で15分毎に更新される
Sys.dm_db_resource_statsリアルタイム性能情報の確認
蒼の王座http://sqlazure.jp/b/
Sys.dm_db_resource_stats
リソース使用状況のデータを細かくリアルタイムに確認するための動的管理ビュー
15秒毎に記録され、直近1時間分のデータサービス層で提供されるリソースの何%を使用したかの記録CPU、 IO、メモリ、ログ
蒼の王座http://sqlazure.jp/b/
sys.resource_stats5分間隔の平均という精度で14日分のデータが格納される
Web、Businessエディションの場合、S2レベル(DTU50)のリソースを基準にDTUの使用状況を%表示してくれるマイグレーション指標に使用できる
300%の場合、S2の3倍のリソースが必要なのでP2という選択となる
Server Quota Policy
サーバー容量ポリシー
蒼の王座http://sqlazure.jp/b/
サーバー毎に 1600DTUの制限が入りました
カスタマサポートに連絡すれば制限を緩和可能Web、 Businessエディションは上限 150個
Elastic ScaleAzure SQL Database
蒼の王座http://sqlazure.jp/b/
Azure SQL Database Elastic Scaleでは、クライアントライブラリの提供と幾つかの代表的なシャーディングパターンに沿ったサービス提供をします。
蒼の王座http://sqlazure.jp/b/
Federationとの比較ライブラリの提供複数シャードへのクエリ発行が可能シャーディングルールに Listが追加シャーディングのセキュリティ強化
蒼の王座http://sqlazure.jp/b/
ライブラリの提供Federationでは、ライブラリが提供されずシャーディングに対応するのに中間コードを実装する必要があった
ライブラリAzure SQL Database Elastic Scale Clientが Nugetで提供されている
ShardMap.OpenConnectionForKey
Data Dependent Routing
蒼の王座http://sqlazure.jp/b/
複数シャードへのクエリ発行Federationでは、アプリケーション側で、それぞれのシャードに個別にクエリを発行し取得した結果をアプリケーション側でマージする必要がありました。
MultiShardCommand、MultiShardDataReader
Multi-shard Query
蒼の王座http://sqlazure.jp/b/
シャーディング用のコードを減らし、ビジネスロジックのコードに専念できるようにします。
蒼の王座http://sqlazure.jp/b/
Elastic Scaleの方向性クラウドコンピューティングの柔軟性を約束•インターネット越しに無限のキャパシティー提供•随時、キャパシティーの拡張、縮退が可能•従量課金モデル•一般的なハードウェア利用によるコスト効率•高いスケーラビリティを持つシャードデータベースデザイン
Azure SQL Database Elastic Scale• ADO.NETとEntity Frameworkのようなツールを使用して、Azure SQL DBでシャードデータモデルのアプリケーションを簡単に開発できる
• 必要に応じたAzure SQL DBリソースのスケール拡張、縮退• 多くのAzure DBデータベースに対する簡単な管理
Azure SQL Database Elastic Scaleパブリックプレビュー開始
蒼の王座http://sqlazure.jp/b/
パブリックプレビューでできること
シャードマップ管理• シャードグループの定義• シャードのルーティングキーのマップ管理
Data dependent routing• シャードに接続するためのリクエストルーティング
• ルーティング情報のキャッシュ
複数シャードへのクエリ発行• 複数シャードへのクエリ発行• 全てのシャードに UNION ALLを使用した同一ステートメントの実行
スプリット /マージサービス• スケールユニットの追加、削除によるキャパシティーの拡張、縮退
• スケールユニットの動的変更• ポリシーによる動的トリガー
.NET APIクライアント 管理サービス
Federation Migration Utility• Federationから Elastic Scaleへの移行
Shard Elasticity• Azure Automationを利用したポリシーベースの分割
Entity Framework• Elastic Scaleのガイドライン
ツールとサンプル