24
SQL Database 基本構成と 直近で追加されていた機能の紹介 JAZUG 小澤 真之 @Masayuki_Ozawa

Sql database 基本構成と直近で追加されていた機能の紹介

Embed Size (px)

Citation preview

Page 1: Sql database 基本構成と直近で追加されていた機能の紹介

SQL Database 基本構成と直近で追加されていた機能の紹介

JAZUG 小澤 真之

@Masayuki_Ozawa

Page 2: Sql database 基本構成と直近で追加されていた機能の紹介

自己紹介

• 普段は SQL Server の案件を中心に仕事をしています

–企業内に設置するオンプレミス環境の SQL Server を使用した案件に携わる機会が多いです。

– SQL Server や SQL Database を全力でぶん回すのが大好きです。

• ブログ : SE の雑記 (http://engineermemo.wordpress.com)

• Twitter : @Masayuki_Ozawa

• Facebook : masayuki.ozawa

2

Page 3: Sql database 基本構成と直近で追加されていた機能の紹介

本日の内容

• SQL Database の基本的な構成の概要についてお話をさせていただきながら、直近で追加された機能をデモを交えて紹介させていただきます。

–直近といっても結構前に追加されたものの紹介になってしまっていますが…。

• SQL Server on Azure VM は機会があればどこかで。

3

Page 4: Sql database 基本構成と直近で追加されていた機能の紹介

SQL Database とは??

4

• 以前は SQL Azure と呼ばれていた。– 現在は Microsoft Windows Azure SQL Database という名称

• PaaS 型のサービスとして RDBMS を提供– 物理ハードウェア上にホストされている SQL Server

• 利用する SQL Server のバージョンは選ぶことができない– バージョンアップは適宜自動で実施されていく– 現在は SQL Server 2012 相当

• Microsoft SQL Azure (RTM) - 11.0.9041.112 • Microsoft SQL Server 2012 (SP1) - 11.0.3350.0 (X64) (SP1 CU3 Fix)

• SQL Server 2012 と比較して多少制限はある– T-SQL はサブセット / 使用できないデータ型 等々

Page 5: Sql database 基本構成と直近で追加されていた機能の紹介

エディションはない??

• エディションによってデータベースの最大サイズが異なる– Web Edition : 最大 5 GB (1GB / 5GB)– Business Edition : 最大 150 GB (10GB / 20GB /30GB / 40GB / 50GB / 100GB /

150GB)– これ以上のサイズを使用する場合には Federation という機能を利用する (2011/12 更新)

• 利用料金はデータベースサイズを日割りで計算する

5

Page 6: Sql database 基本構成と直近で追加されていた機能の紹介

基本構成 (ざっくり)

6

SQL Database

H/W リソースの割り当て

OS

SQL Server

Database

ホスト OS

Database Database Database

利用者が操作できる 利用者が操作できない

• SQL Database を利用する際にはサーバー名が割り当てられるが、物理マシンではなく TDS (Tabular Data Stream) エンドポイントとなる。

Page 7: Sql database 基本構成と直近で追加されていた機能の紹介

スロットリング機構

• SQL Database は複数のユーザーがプラットフォームを共有しているため、極端に負荷の高い処理をしているユーザを強制的に遮断・切断する仕組みを備えている

– 例)

• ワーカースレッドの利用過多

• 1 トランザクションで大量のトランザクションログを利用

• 1 トランザクションで大量のロック取得

• 大量の tempdb の利用

• アイドル状態が長く続く(コネクションプールの接続が切断される)

• 接続が切断された時のことを考慮し、再接続処理を意識する

7

Page 8: Sql database 基本構成と直近で追加されていた機能の紹介

ぶん回してみる DEMOスロットリングによる接続の切断 (大量のワーカースレッドを取得)

8

Page 9: Sql database 基本構成と直近で追加されていた機能の紹介

管理方法 その 1

• Silverlight の Web ベースの管理ツール

9

Page 10: Sql database 基本構成と直近で追加されていた機能の紹介

管理方法 その 2

• SQL Server Management Studio (SSMS)

10

Page 11: Sql database 基本構成と直近で追加されていた機能の紹介

管理方法 その 3

• SQL Server Data Tools (SSDT)

11

Page 12: Sql database 基本構成と直近で追加されていた機能の紹介

DEMOSQL Database の開発でインテリセンスを使用してクエリ記述

12

Page 13: Sql database 基本構成と直近で追加されていた機能の紹介

接続をするためのセキュリティ設定

• 3 種類のファイアウォール設定

– Windows Azure サービスからは許可

–サーバーレベルのファイアウォール

–データベースレベルのファイアウォール (2012/8 の更新)

13

インターネットDBレベルの

ファイアウォール

サーバーレベルの

ファイアウォール

DB

DB

Windows

Azure

Page 14: Sql database 基本構成と直近で追加されていた機能の紹介

データベースレベルのファイアウォール

• 現状は T-SQL を実行することで設定可能

– Windows Azure / サーバーレベルのファイアウォールはGUI/T-SQL の両方から設定可能

• サーバーレベルのファイアウォール

– exec sp_set_firewall_rule N'Allow Windows Azure','0.0.0.0','0.0.0.0'

• データベースレベルのファイアウォール

– sp_set_database_firewall_rule N'Allow Windows Azure','0.0.0.0','0.0.0.0'

14

Page 15: Sql database 基本構成と直近で追加されていた機能の紹介

ポータルから監視が可能 (2012/11 の更新)

15

Page 16: Sql database 基本構成と直近で追加されていた機能の紹介

クエリからも取得可能

• sys.database_connection_stats

– Azure ポータルの接続に関しての情報

–統計概要

• sys.event_log

– SQL Database ポータルのイベントに関しての情報

–集計詳細

• どちらも最大で 30 日間分のデータが蓄積される

16

Page 17: Sql database 基本構成と直近で追加されていた機能の紹介

DEMO

SQL Database で発生したデッドロックの情報を確認してみる

17

Page 18: Sql database 基本構成と直近で追加されていた機能の紹介

SQL Database の構成

• SQL Database のインスタンスは内部では 3 重化されており、その中の 2 つのインスタンスでデータが更新されないとコミットされない仕組みになっている。

18

Page 19: Sql database 基本構成と直近で追加されていた機能の紹介

待機状態の取得

• sys.dm_db_wait_stats で待機状態を取得できる(2013/1 の更新)

19

状態の

推移

実行

実行

可能待ちsys.dm_db_waitstats で確認

Page 20: Sql database 基本構成と直近で追加されていた機能の紹介

DEMOsys.dm_db_wait_stats で多重化されていることを確認してみる

20

Page 21: Sql database 基本構成と直近で追加されていた機能の紹介

統計情報のメンテナンス

• データの分布状況を考慮してクエリを実行する際のプランが作成される

–データの分布状況が統計情報になる

• 現在の統計情報を DBCC SHOW_STATISTICS で確認することができる (2012/9 の更新)

– DBCC SHOW_STATISTICS ()

21

Page 22: Sql database 基本構成と直近で追加されていた機能の紹介

DEMO統計情報の確認と統計情報のメンテナンス

22

Page 23: Sql database 基本構成と直近で追加されていた機能の紹介

最後にトレーニングキットのご紹介

• Windows Azure Training Kit - December 2012– http://www.microsoft.com/en-us/download/details.aspx?id=8396

• Windows Azure Training Kit– https://github.com/WindowsAzure-TrainingKit

• Introduction To Windows Azure SQL Database– 今回はこのトレーニングキットの内容をいくつか抜粋

• Migrating to Windows Azure SQL Database• Windows Azure SQL Data Sync• Windows Azure SQL Federation• Windows Azure SQL Reporting• Windows Azure Migrating SQL Server Workloads

23

Page 24: Sql database 基本構成と直近で追加されていた機能の紹介

Appendix

• Transact-SQL リファレンス (Windows Azure SQL データベース)– http://msdn.microsoft.com/ja-jp/library/windowsazure/ee336281.aspx

• SQL データベース (料金)– http://www.windowsazure.com/ja-jp/pricing/details/sql-database/

• 動的管理ビューを使用した SQL Azure の監視– http://technet.microsoft.com/ja-jp/library/gg457940.aspx

• Inside Windows Azure SQL Database– http://social.technet.microsoft.com/wiki/contents/articles/1695.inside-

windows-azure-sql-database.aspx

• SQL Database WAIT STATS– http://blogs.msdn.com/b/sqldatabasetalk/archive/2013/01/31/sql-database-

wait-stats.aspx

• Windows Azure SQL データベース (以前の SQL Azure) の新機能– http://msdn.microsoft.com/ja-jp/library/windowsazure/ff602419.aspx

24