46
蒼蒼蒼蒼 http://sqlazure.jp/b Azure SQL Database 蒼蒼 蒼蒼蒼蒼蒼

Azure sql database 入門 2014年10月版

  • Upload
    -

  • View
    7.638

  • Download
    1

Embed Size (px)

DESCRIPTION

Azure sql database 入門 2014年10月版 新しいサービス層、アップデートなどの情報を追ってみましょう。

Citation preview

Page 1: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Azure SQL Database 入門大和屋貴仁

Page 2: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

大和屋貴仁インフラエンジニアMicrosoft MVP for Windows Azure

@t_yamatoyahttp://sqlazure.jp/b/

Page 3: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Azure SQL Database

マイクロソフトがデータベース管理の大部分を引き受けたマネージドサービスです

SQL Server相当のデータベースをすぐに使い始められバックアップなどの自動的に実施される

Page 4: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

ハードウェア用意して、OSインストールして、SQL Serverインストールして、データベースの物理設計して、バックアップ設計して、データベースの論理設計して・・・

そんな作業をマイクロソフトがベストな状態で提供するのが、Azure SQL Databaseですよね

Page 5: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Azure SQL Databaseサーバーサーバー

Azure SQL ゲートウェイサービス

スケーラビリティ&アベイラビリティ:ファブリック、フェイルオーバー、ロードバランス

論理的概念、エンドポイント事実上、無限にデータベースを作成できる•サーバーのリソースを気にしなくて良い

Page 6: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

xxxxx.database.windows.net一昔前までは、サーバー名はランダムな文字列でした。

8月ぐらいから、任意の文字列を指定できるようになりました。

Page 7: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

データベースとサーバーサーバー:論理的な括りデータベース:物理サーバーにホストされる

同じサーバー上のDBでも、稼働している物理サーバーは異なる。DB相互でのアクセスは不可能

test1.dbo.humantest2.dbo.div一つのクエリで同時に使用できないUSE句etc

Page 8: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

データベースの冗長化

Read:プライマリで完結

Write:セカンダリにレプリケートされる

DBロジカルデータベー

P

SS WriteWrite

AckAck

ReadValue WriteAck

P

S

S

デフォルトで 3冗長化(プライマリと 2つのセカンダリ)される

Page 9: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

クラスター化インデックスAzure SQL Databaseのレプリケーションは独自実装。クラスター化インデックスが必須の仕組み。

クラスター化インデックスが無いとテーブルにデータを挿入できない

Page 10: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Firewall

Services Layer

Services Layer

Internet

SQL Database Firewall

IP アドレスによるアクセス制御デフォルトでは全ての接続を拒否

サーバー単位、データベース単位で設定可能ポータル、 SQL、 APIで設定可能

Page 11: Azure sql database 入門 2014年10月版

SQL Database service tiers

新しいサービスレベル

Page 12: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

価格体系データ容量課金からパフォーマンスレベルと時間単位での課金

3種類のサービスクラスとパフォーマンスレベル• Basic• Standard

S0、S1、S2• Premium

P1、P2、P3

パフォーマンスレベルはどうやって定義されるか?マイクロソフトが開発したAzure SQL Database Benchmarkを活用し、データベーススループットユニット(DTU)で表現する

Page 13: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

提供機能差異Basic• DB最大サイズ:2GB•ポイントインタイム復元:7日•地理リストア

Standard• DB最大サイズ:250GB•ポイントインタイム復元:14日•標準の地理レプリケーション

Premium• DB最大サイズ:500GB•ポイントインタイム復元:35日•アクティブ地理レプリケーション

Page 14: Azure sql database 入門 2014年10月版

Point-in-time restore

ポイントインタイム復元

Page 15: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Azure SQLの組み込み自動バックアップ完全バックアップ:1週間に1回差分バックアップ:1日に1回トランザクションログバックアップ:5分に1回

完全バックアップと差分バックアップは地域間で一日一回レプリケートされる

Page 16: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

同一論理サーバー内に対象のデータベースの特定時点の状態を新しいデータベースとして復元することができる

削除したデータベースも復元できる

Basic:7日以内Standard:14日以内Premium:35日以内

sabcp01bl21

sabcp02bl21

sabcp03bl21

新しいデータベースにリストア

LS XYZ

Copy backups to Azure Storage

DB

DB1

Page 17: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

ポイントインタイム復元画面

Page 18: Azure sql database 入門 2014年10月版

Geo-Restore地理リストア

Page 19: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

地理リストア完全バックアップと差分バックアップが自動的にBlobに格納されるそのBlobは地理レプリケーションが有効になっている

地理レプリケーションで作成された日次バックアップからデータベースを復元する

24時間以内の復旧、最大 24時間のデータロストが発生しうる

Page 20: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

地理リストア画面地理リストアに利用可能なバックアップが表示される

Page 21: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

地理リストア画面地理リストアに利用可能なバックアップが表示される

Page 22: Azure sql database 入門 2014年10月版

Standard Geo-Replication

標準地理レプリケーション

Page 23: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Standard Geo-Replicationプライマリデータベースのコミットされたトランザクションを非同期で複製する

•セカンダリデータベースはMS指定のDRペアリージョンに配置される•オフラインセカンダリ•データセンターがダウンした時(1時間後)のみフェールオーバーできる•インシデント24時間経過すると自動的にフェールオーバーする

2時間以内の復旧、30分のデータロストが発生しうる

Page 24: Azure sql database 入門 2014年10月版

Active Geo-Replication

アクティブ地理レプリケーション

Page 25: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Active Geo-Replication

最大 4つの読み取り専用セカンダリを作成できるトランザクションは非同期でレプリケートされるレプリケーションは手動で管理可能•リレーションシップをきると通常のデータベース

1時間以内の復旧、 5分以内のデータロストが発生しうる

Page 26: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Active Geo-Replication

Page 27: Azure sql database 入門 2014年10月版

Auditing監査ログ

Page 28: Azure sql database 入門 2014年10月版

監査ログ

SQL DatabaseAuditing

Auditlog

Application data

Azure Storage

Page 29: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

監査ログ接続先

<server name>.database.secure.windows.net記録先

Azure Table記録対象• データへのアクセス• スキーマ変更• データの変更• アカウント、ロール、権限• セキュリティ例外

ツール• Azure ストレージ用のツール• Excelテンプレートと定義済みのダッシュボードとレポート

Page 30: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

ポータルでのレポート直近24時間のイベント最短で15分毎に更新される

Page 31: Azure sql database 入門 2014年10月版

Sys.dm_db_resource_statsリアルタイム性能情報の確認

Page 32: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Sys.dm_db_resource_stats

リソース使用状況のデータを細かくリアルタイムに確認するための動的管理ビュー

15秒毎に記録され、直近1時間分のデータサービス層で提供されるリソースの何%を使用したかの記録CPU、 IO、メモリ、ログ

Page 33: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

sys.resource_stats5分間隔の平均という精度で14日分のデータが格納される

Web、Businessエディションの場合、S2レベル(DTU50)のリソースを基準にDTUの使用状況を%表示してくれるマイグレーション指標に使用できる

300%の場合、S2の3倍のリソースが必要なのでP2という選択となる

Page 34: Azure sql database 入門 2014年10月版

Server Quota Policy

サーバー容量ポリシー

Page 35: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

サーバー毎に 1600DTUの制限が入りました

カスタマサポートに連絡すれば制限を緩和可能Web、 Businessエディションは上限 150個

Page 36: Azure sql database 入門 2014年10月版

Elastic ScaleAzure SQL Database

Page 37: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Azure SQL Database Elastic Scaleでは、クライアントライブラリの提供と幾つかの代表的なシャーディングパターンに沿ったサービス提供をします。

Page 38: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

Federationとの比較ライブラリの提供複数シャードへのクエリ発行が可能シャーディングルールに Listが追加シャーディングのセキュリティ強化

Page 39: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

ライブラリの提供Federationでは、ライブラリが提供されずシャーディングに対応するのに中間コードを実装する必要があった

ライブラリAzure SQL Database Elastic Scale Clientが Nugetで提供されている

Page 40: Azure sql database 入門 2014年10月版

ShardMap.OpenConnectionForKey

Data Dependent Routing

Page 41: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

複数シャードへのクエリ発行Federationでは、アプリケーション側で、それぞれのシャードに個別にクエリを発行し取得した結果をアプリケーション側でマージする必要がありました。 

Page 42: Azure sql database 入門 2014年10月版

MultiShardCommand、MultiShardDataReader

Multi-shard Query

Page 43: Azure sql database 入門 2014年10月版

蒼の王座http://sqlazure.jp/b/

シャーディング用のコードを減らし、ビジネスロジックのコードに専念できるようにします。

Page 44: Azure sql database 入門 2014年10月版

蒼の王座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パブリックプレビュー開始

Page 45: Azure sql database 入門 2014年10月版

蒼の王座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のガイドライン

ツールとサンプル

Page 46: Azure sql database 入門 2014年10月版