30
これから SQL Server をはじめるには 2015/01/31 2015 MVP Community Camp 大阪 SQLWorld おだ

これから Sql server をはじめるには

Embed Size (px)

Citation preview

Page 1: これから Sql server をはじめるには

これから SQL Server をはじめるには

2015/01/31 2015 MVP Community Camp 大阪

SQLWorld お だ

Page 2: これから Sql server をはじめるには

自己紹介

織田 信亮@shinsukeoda

大阪で開発者やってます

http://odashinsuke.hatenablog.com

SQLWorld http://sqlworld.org/

Micorsoft MVP for SQL Server2012/10~2015/09

Page 3: これから Sql server をはじめるには

SQLWorld って?

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

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

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

平日夜開催 (2H程度)

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

検索だけ(SELECT) 4, 5 問

次回は 3/10(火) 19:00 ~http://sqlworld.org/event/20150310/

Page 4: これから Sql server をはじめるには

注意事項

現時点(2015/01/31) でのお話しです

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

Page 5: これから Sql server をはじめるには

SQL Server を動かす環境

オンプレミス + SQL Server

自前のサーバー/PC に SQL Server を載せたもの

Microsoft Azure VM + SQL Server

Azure の VM に SQL Server を載せたもの

Microsoft Azure SQL Database

Azure が SQL Server(DB)を提供しているサービス

Azure 以外のクラウドサービス + SQL Server

Amazon RDS 等…

Page 6: これから Sql server をはじめるには

SQL Server を動かす環境

オンプレミス + SQL Server

自前のサーバー/PC に SQL Server を載せたもの

Microsoft Azure VM + SQL Server

Azure の VM に SQL Server を載せたもの

Microsoft Azure SQL Database

Azure が SQL Server(DB)を提供しているサービス

Azure 以外のクラウドサービス + SQL Server

Amazon RDS 等…

Page 7: これから Sql server をはじめるには

アジェンダ

SQL Server

Microsoft Azure SQL Database

比較

「個人的な」お薦め

Page 8: これから Sql server をはじめるには

SQL Server

Page 9: これから Sql server をはじめるには

SQL Server の機能紹介(大まかに)

Database Engine

RDB

Reporting Services (SSRS)

レポートの作成/管理/表示

Analysis Services (SSAS)

BI で使用するようなオンライン分析データエンジン。

キューブ等のモデルを作成/管理

Integration Services (SSIS)

データ変換(クリーニング等)を行うプラットフォーム(環境)

File DB や DB DB 等

Page 10: これから Sql server をはじめるには

SQL Server の機能紹介(大まかに)

Master Data Services

DWH で使われるマスタデータの管理をするための機能

Data Qulity Services

データクレンジングや名寄せ

Service Broker

キューやメッセージング を行うための機能

Agenet

スケジュールされたジョブの実行

Page 11: これから Sql server をはじめるには

SQL Server の Edition

インストールする Edition によって機能差異がある

Enterprise/Business Intelligence/Standard

Enterprise と Standard の違い

リソース(メモリ/CPU) の上限

高可用性に関する機能制限

パフォーマンスに関する機能制限

セキュリティに関する機能制限

BI/DWH(データウェアハウス) に関する機能制限

Business Intelligence

少人数向けの Standard + BIに関する機能

Page 12: これから Sql server をはじめるには

SQL Server の Edition

Developer

開発及びテストにのみ利用可。Enterprise と同機能

Express

無料だが Standard より機能制限されている(リソース含む)

Database Engine/Reporting Service の一部機能

Reporting Service は Express with Advanced Services で使える

Web

公開Webサービス用の Standard 相当の Edition

Web ホスティング企業 向け

アプライアンス製品

PDW(Parallel Data Warehouse)

Page 13: これから Sql server をはじめるには

簡単にライセンスの話し※詳細は MS に確認してください

コアライセンス

コア数の合計(2core CPU * 2 は 4ライセンス)

Enterprise

Standard

サーバー/CAL ライセンス

サーバー台数分のサーバーライセンス + アクセスするユーザー or デバイス分の クライアントアクセスライセンス

Business Intelligence

Standard

Page 14: これから Sql server をはじめるには

簡単にライセンスの話し (Azure VM)※詳細は MS に確認してください

ライセンス込の VMイメージを使う場合は Edition により価格が異なる

利用する Windows Server の料金 + SQL Server のライセンス料

http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/#Sql

http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/#Windows

ソフトウェアアシュアランス(SA) のライセンスモビリティでライセンスの持ち込みも可能

http://azure.microsoft.com/ja-jp/pricing/licensing-faq/

Page 15: これから Sql server をはじめるには

Microsoft AzureSQL Database(SQL DB)

Page 16: これから Sql server をはじめるには

SQL DB の機能紹介

Database Engine のみ

オンプレ等 SQL Server の SSRS/SSAS/SSIS 等から SQL DB のデータを使うことは可能

サポートしていない機能がある

インメモリOLTP(メモリ最適化テーブル)

File Stream/File Table

シーケンス

最近発表された v12 でも機能を追加しているのでサポートしていない機能もそのうち使えるようになるかも?

Page 17: これから Sql server をはじめるには

SQL DB の機能紹介

最近発表された v12 で追加された機能

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

Window関数

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

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

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

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

並列クエリ

Page 18: これから Sql server をはじめるには

SQL DB の機能紹介

利用する Service Tier (Edition の様な物) で性能/機能差がある

通常の SQL Server に無い機能もある

自動バックアップ / 任意の地点へのリストア

3冗長化

低レベルの Service Tier でも Enterprise の機能が使える

データの圧縮/オンラインでのインデックス 再構築

Page 19: これから Sql server をはじめるには

SQL DB の Service Tier (Edition のような物)

Web/Business ※2015/09 に終了予定

DB サイズの違い

ベストエフォート

使えるだけリソースを使う

近所に重い人がいるとパフォーマンスが悪くなる

Basic/Standard/Premium

パフォーマンスや提供機能に違い

細かいパフォーマンスレベルを指定可

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

空いてる時も混んでる時も、ほぼ同じパフォーマンス

近所に重い人がいても、影響を受けない

Page 20: これから Sql server をはじめるには

Basic/Standard/Premium の違い

パフォーマンスレベル (DTU によるレベル分け)

Basic/S0/S1/S2/S3/P1/P2/P3

DB サイズ

2GB/250GB/500GB

自動バックアップ (Point in time Restore)の保持期間

7日/14日/35日

機能制限

列ストアインデックス/並列クエリ は Premium のみ

DR

地理レストア/標準地理レプリケーション/アクティブ地理レプリケーション

Page 21: これから Sql server をはじめるには

DTU

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

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

CPU/メモリ/Disk IO等 をセットにした単位

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

5 DTU => 50 DTU にしたのに 10倍にならないとかはあり得る

Page 22: これから Sql server をはじめるには

ベンチマーク概要

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 Overviewhttp://msdn.microsoft.com/en-us/library/azure/dn741327.aspx

Page 23: これから Sql server をはじめるには

DR

地理リストア

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

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

オフラインセカンダリ

非同期コミット

1h経過でフェールオーバー可能

24h経過で強制フェールオーバー

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

最大4つの 読取専用セカンダリ

非同期コミット

レプリケーション/フェールオーバーは手動で

Page 24: これから Sql server をはじめるには

比べてみる

Page 25: これから Sql server をはじめるには

オンプレミス と Azure VM での違い

SQL Server の機能としては同じ

インストールする Edition によって機能差異がある

オンプレミスと Azure VM の違い

マシンのスペックの上限

初期投資費用

ランニングコスト

スケールアップの容易さ

アプライアンス製品はオンプレミスのみ

SQL Server PDW

Page 26: これから Sql server をはじめるには

オンプレミス でのクラウド利用(ハイブリッド クラウド)

バックアップ先を クラウド(Azure Storage) へ

実質容量無制限の低コストストレージ

高可用性

災害対策 (DR)

バックアップは暗号化や圧縮も可

クラウドに データファイルを配置

インスタンスとデータの分離で災害対策(DR)

サーバー切替時の一時的な利用

Page 27: これから Sql server をはじめるには

SQL Server と SQL DB それぞれのメリット

SQL Server

Database Engine 以外の機能も使える

Reporting Server で済むなら帳票用の別の製品を買う必要無し

全ての機能をサポート

インメモリOLTP/ADO.NET クエリ通知/File Tables… 等の機能が必要

パフォーマンス上限が高い

P3 よりハイスペックなマシンを調達可能

Express Edition は無料

SQL DB

Edition (Tier) 変更の容易さ

列ストアは当初不要だったが、しばらくして必要になった

スケールアップの容易さ

オンプレミス + SQL Server と比べるとより顕著

冗長性の構成/運用の簡素化

バックアップ/復元の容易さ

Always On 等の冗長性の構成を組まなくても良い

Page 28: これから Sql server をはじめるには

セキュリティ面での比較

SQL Server/SQL DB でほぼ同じもの

接続の暗号化

プリンシパル(ログイン/ユーザー/ロール 等) 単位でリソース(DB/Table/ストアド 等) への権限(GRANT/DENY)

データの暗号化(アプリケーションレベルで対応)

ENCRYPTBYPASSPHRASE/DECRYPTBYPASSPHRASE

Transparent Data Encryption(TDE:透過的なデータ暗号化)

SQL Server では Enterprise のみ

SQL DB では coming soon

監査(Augit) ※ SQL Server と SQL DB で仕組みは違う

Standard/Express でも監査可能。Enterprise だとより詳細に

SQL DB では Service Tier での機能差は無い

Page 29: これから Sql server をはじめるには

セキュリティ機能での比較

SQL Server

2つの認証モードをサポート

Windows 認証:Windows のユーザーアカウントで認証 (SQL Server のみ)

SQL Server認証:ユーザー/パスワード での認証 (SQL DB はこちらだけ)

接続ポートの変更

SQL DB ではポート固定

他ソフトでの制御

Windows にインストール出来るソフトなら使える

例:IP指定のFirewall

SQL Database

Firewall

IP指定のホワイトリスト

Row Level Security(RLS)

行レベルでのセキュリティ

現在のユーザー等を使って、データのフィルタリングをするイメージ

Dynamic Data Masking

権限のないユーザーの場合、対象列はマスクされたデータが返る感じ

まだ触れないので動作が違うかも

Page 30: これから Sql server をはじめるには

個人的なお薦め

なるべくお金を掛けない方向で

Express Edition で足りるなら Express Edition

運用面で負担がある場合は SQL DB にする事も検討

SQL DB で足りるなら SQL DB

運用面では一番利点がある

オンプレミス / Azure VM はどっちでも

環境/状況によりけり

利用する期間:10年使う or 短期で使わなくなるかも…

物理ハードの有無:十分なスペックのサーバー有無

閑散期/繁忙期:年1回だけピークとか