Download pdf - Sql database のご紹介

Transcript
Page 1: Sql database のご紹介

わんくま同盟大阪勉強会 #62

Microsoft Azure

SQL Database のご紹介

わんくま同盟大阪勉強会#62

SQLWorldおだ

Page 2: Sql database のご紹介

わんくま同盟大阪勉強会 #62

自己紹介

• 織田 信亮@shinsukeoda

• 大阪で開発者やってます

• http://odashinsuke.hatenablog.com

• SQLWorld http://sqlworld.org/

Page 3: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQLWorld って?

• SQL Server を中心に DB の勉強会やってます

• 正規化/モデリング, NoSQL とかも

• SQL を書くハンズオンやってます

– 平日夜開催 (2H程度)

– 提示されたお題に対して、SQL を書いてみる

– 検索だけ(SELECT) 4, 5 問

Page 4: Sql database のご紹介

わんくま同盟大阪勉強会 #62

注意事項

• 現時点(2015/02/28) でのお話しです

• 最新の情報は公式Webでご確認下さい

Page 5: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQL Database のご紹介

• Micorsoftが提供する クラウドRDB

– RDBは SQL Server をベースにしたもの

• 当初は SQL Azure という名前でした

• PaaS(Platform as a Service) で マイクロソフトが色々管理してくれています

Page 6: Sql database のご紹介

わんくま同盟大阪勉強会 #62

Page 7: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQL Server を使う場合…

1. 自前サーバー + SQL Server

–全部自分で管理

2. IaaS + SQL Server

– OS/SQL Server は自分で管理

3. SQL Database (PaaS)

–データベースは自分で管理

Page 8: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQL Server との違い

• SQL Server には様々なサービスがある

– DB エンジン/SSAS/SSIS/SSRS…

• SQL Database では DB エンジンだけ

– Azure には SQL Reporting という SSRS 相当のサービスがありましたが、既にサービス終了

Page 9: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQL Server との違い

• DB エンジンでも未サポートの機能あり…

• Enterprise だけの機能が使えたり…

• SQL Database だけの機能もあったり…

良い点/悪い点両方あります

Page 10: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQL Database

基本と新機能

Page 11: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQL DB ファイアーウォール

• IP アドレスによるアクセス制御

–デフォルトは全て接続拒否

– IP のレンジで指定

• サーバー単位/データベース単位で指定可

Page 12: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQL DB サーバー

• 使うために最初に登録するもの

xxxxx.database.windows.net

• サーバーと言ってるが物理ではなく、エンドポイント

SQL Server のインスタンスとは違う

• 1サーバーに複数のデータベースを作成可能

Page 13: Sql database のご紹介

わんくま同盟大阪勉強会 #62

SQL DB データベース

• 3冗長化されている

–マスター1台/セカンダリー2台

• 自動フェールオーバー

– Reconfiguration(更新の適用や異常検知時)

• 自動バックアップ

–一部のサービス階層(Service Tiers) のみ

Page 14: Sql database のご紹介

わんくま同盟大阪勉強会 #62

サービス階層(Serivce Tiers)

• Web/Business

– 2015/9 に終了予定

– DBサイズの違い/ベストエフォート型

• Basic/Standard/Premium

–予測可能なパフォーマンス

–パフォーマンスレベル/提供機能の違い

– Basic/S0/S1/S2/S3/P1/P2/P3 の8段階

Page 15: Sql database のご紹介

わんくま同盟大阪勉強会 #62

新しいサービス階層

• データベーススループットユニット(DTU) によるパフォーマンスレベル

• 提供機能の差異

– DBサイズ

–ポイントインタイム復元

–地理レプリケーション

–列ストアインデックス

–並列クエリ

Page 16: Sql database のご紹介

わんくま同盟大阪勉強会 #62

DTU

• Azure SQL Database Benchmark によって測定された値

– OLTP ワークロードで頻繁に発生する様なデータベース操作でのパフォーマンス測定

– CPU/メモリ/DiskIO等 をセットにした単位

• ワークロードによっては数値通りになるとは限らない

– 5DTU => 50DTU にしたのに10倍にならないというケースもあり得る

Page 17: Sql database のご紹介

わんくま同盟大阪勉強会 #62

ベンチマーク概要

DTU トランザクション/時間 レスポンス要件

Basic 5 16,600/時間 => 4.6/秒 80% は 2秒以内に

Standard - S0 10 521/分 => 8.6/秒 90% は 1秒以内に

Standard - S1 20 934/分 => 15.5/秒 〃

Standard - S2 50 2,570分 => 42.8/秒 〃

Premium - P1 100 105/秒 95%は 0.5秒以内に

Premium - P2 200 228/秒 〃

Premium - P3 800 735/秒 〃

Azure SQL Database Benchmark Overview

http://msdn.microsoft.com/en-us/library/azure/dn741327.aspx

Page 18: Sql database のご紹介

わんくま同盟大阪勉強会 #62

サーバーの容量制限

• 1サーバーに 1600 DTU まで

– P3 なら 2個まで

• カスタマーに連絡すれば緩和可能

• Web/Business では 150 個まで

Page 19: Sql database のご紹介

わんくま同盟大阪勉強会 #62

提供機能差異(運用面)

DB

サイズポイントインタイム

復元地理レプリケーション

Basic 2GB 7日以内 地理リストア

Standard 250GB 14日以内 地理リストア標準地理レプリケーション

Premium 500GB 35日以内 地理リストア標準地理レプリケーションアクティブ地理レプリケーション

Page 20: Sql database のご紹介

わんくま同盟大阪勉強会 #62

ポイントインタイム復元

• 自動でバックアップ

–完全:1週間

–差分:1日

– トランザクションログ:5分

• 完全/差分は地域内でレプリケートされる

• 削除したデータベースも復旧可能

• 同じサーバーに新しいデータベースを作成

Page 21: Sql database のご紹介

わんくま同盟大阪勉強会 #62

地理リストア

• 日次バックアップからデータベース復元

–バックアップが地理冗長(地域内コピー)

• 最大24時間以内の復旧

• 最大24時間のデータロスト

• 任意のリージョン/サーバーに作成可能

Page 22: Sql database のご紹介

わんくま同盟大阪勉強会 #62

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

• マイクロソフト指定のDRペアリージョンにセカンダリ配置

• オフラインセカンダリ

• 非同期コミット

–セカンダリへの反映完了を待たずコミット

Page 23: Sql database のご紹介

わんくま同盟大阪勉強会 #62

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

• フェールオーバー(障害発生時)

– 1時間経過でフェールオーバー可能

– 24時間経過すると、強制フェールオーバー

• 最大2時間以内の復旧

• 最大30分のデータロスト

Page 24: Sql database のご紹介

わんくま同盟大阪勉強会 #62

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

• 最大4つの読取専用セカンダリを作成可能

• 非同期コミット

• レプリケーションは手動で管理

• フェールオーバーは手動で

• 最大1時間以内の復旧

• 最大5分のデータロスト

Page 25: Sql database のご紹介

わんくま同盟大阪勉強会 #62

価格

• 1時間あたり~の時間割

– http://azure.microsoft.com/ja-

jp/pricing/details/sql-database/

• サービスレベル(Basic~P3) は、24時間以内に4回変更可能

–合計で最大4個のデータベースを変更出来る

–通常S2 で夜間は S0 とかの運用も可能

–ダウングレードする場合は、DBサイズや復旧機能に注意

Page 26: Sql database のご紹介

わんくま同盟大阪勉強会 #62

監査

• 監査の設定を行い、アプリケーションの接続文字列を変更

– xxxx.database.secure.windows.net

–ログの出力先は Azure Table ストレージ

• ポータルのダッシュボードや Power Query

for Excel 等で確認

Page 27: Sql database のご紹介

わんくま同盟大阪勉強会 #62

最近リリースされた新機能(V12)

• テーブルパーティショニング

• Window 関数

• .NET CLR(※外部リソースアクセス不可)

• データ変更の追跡(Change Tracking)

• ヒープテーブル (クラスタ化インデックス無し)

• 列ストアインデックス(クラスタ化/非クラスタ化)

• 並列クエリ

–列ストアと並列クエリは Premium のみ

Page 28: Sql database のご紹介

わんくま同盟大阪勉強会 #62

最近発表された新機能(V12) preview

• Row Level Security (RLS)

– クエリの結果セットに対し、現在のユーザーを使って、フィルタリングするイメージ

• Dynamic Data Masking

–権限無いユーザーの場合、指定列のデータをマスキングして返す

• 透過的なデータ暗号化(TDE) (coming soon)

– SQL Server と同じ機能

Page 29: Sql database のご紹介

わんくま同盟大阪勉強会 #62

スケールアウト

• スケールアウトの方法として、フェデレーションという機能があった。

– Web/Business と同時に廃止

• 代わりにクライアントライブラリを提供

– Azure SQL Database Elastic Scale Libraries

for .NET

–シャーディングを行うライブラリ

–マルチシャードクエリは、各シャードにクエリを投げて結果を UNION ALL した感じになる

Page 30: Sql database のご紹介

わんくま同盟大阪勉強会 #62

その他諸々…

• データの圧縮が使用可

–パフォーマンスが出ない時は要検討

• データベース コピー

–非同期でコピーを作成

• インポート/エクスポート

– SQL Server SQL Database 等も可

Page 31: Sql database のご紹介

わんくま同盟大阪勉強会 #62

その他諸々…

• 接続タイムアウトは 30秒以上にする

–デフォルト 15 秒

• リトライ処理を組み込む事

– リトライ間隔は 10秒(最低5秒以上)

Page 32: Sql database のご紹介

わんくま同盟大阪勉強会 #62

参考資料 (日本語)

• Azure SQL データベース– http://msdn.microsoft.com/ja-

jp/library/azure/ee336279.aspx

• Microsoft Japan SQL Server Support

Team Blog– http://blogs.msdn.com/b/jpsql/

• Micorosoft Azure Japan Team Blog– http://blogs.msdn.com/b/windowsazurej/