sql server sql database 最新機能紹介

37
SQL Server/SQL Database 最新機能紹介 SQLWorld ★大阪#30 2015/04/25 SQLWorld お だ

Upload: oda-shinsuke

Post on 15-Jul-2015

421 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Sql server sql database 最新機能紹介

SQL Server/SQL Database最新機能紹介

SQLWorld★大阪#30

2015/04/25 SQLWorld お だ

Page 2: Sql server sql database 最新機能紹介

自己紹介

織田 信亮(おだ しんすけ)

大阪で開発者しています

SQLWorld 代表 (http://sqlworld.org)

http://odashinsuke.hatenablog.com/

Twitter:@shinsukeoda

Page 3: Sql server sql database 最新機能紹介

注意事項

現時点(2015/04/19) でのお話しです

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

Page 4: Sql server sql database 最新機能紹介

注意事項

最近追加された機能を中心にしたスライドになってます

全体の話しは無しです(特に SQL Database)

Page 5: Sql server sql database 最新機能紹介

今日話すこと

SQL Server 2014 の話し

SQL Database V12 の話し

Page 6: Sql server sql database 最新機能紹介

今日話すこと

SQL Server 2014 の話し

SQL Database V12 の話し

まだリリースされてない SQL Server の話し!

Page 7: Sql server sql database 最新機能紹介

SQL Server 2014 の話し

Page 8: Sql server sql database 最新機能紹介

メモリ最適化テーブル

インメモリ OLTP

100倍速くしたい => Hekaton

SQL Server があれば OK!

メインメモリ最適化

T-SQL フルコンパイル

ロックフリーの高並列

Page 9: Sql server sql database 最新機能紹介

列ストアインデックス

クラスタ化列ストアインデックス が追加された

更新可能

非クラスタ化列ストアインデックスは更新不可※

テーブルに1つのインデックスのみ

クラスタ化列ストアインデックスのみ

インデックス = データ

データサイズが少ない

Page 10: Sql server sql database 最新機能紹介

Azure との連携

データファイルを Azure Storage (Blob) に配置

FileStream は NG

バックアップ/復元

Azure Storage へのバックアップとStorage から直接 復元

2012 CU2 から可能。2005 – 2012 CU1 は以下で可能

Microsoft SQL Server Backup to Microsoft Azure Tool

http://www.microsoft.com/ja-JP/download/details.aspx?id=40740

Page 11: Sql server sql database 最新機能紹介

AlwaysOn の強化

AG(可用性グループ) のセカンダリレプリカ数が 4 -> 8

読取可能なセカンダリの強化

プライマリ/クラスタークォーラムが無くても読取出来る

FCI で CSV(クラスターの共有ボリューム)を共有ディスクで使える

DMV で取れる情報追加

Page 12: Sql server sql database 最新機能紹介

バッファプール拡張

Standard から使えるようになりました!

バッファプールに SSD とかの速いディスクを使おう

メモリが足りない時に、速いディスクでカバー

たくさんメモリを積んでるサーバーは対象外

128GB より大きいサーバーはだめ~

サイズは、Max Server Memory の32倍まで

128GB * 32 = 4TB が Max

他社製品にも同じようなのあるよ

Oracle Database Smart Flash Cache

Page 13: Sql server sql database 最新機能紹介

バッファプール拡張

ディスクからデータを読むのは一般に遅い

一度読んだデータはメモリ(バッファプール)にキャッシュ(保持)しておく

メモリが足りなくなったら、あまり使われなかったデータはキャッシュアウトされる(メモリから消される)

そこで、SSD 等の早いディスクを第二のキャッシュとして利用する!

ディスクに読み書きするのでディスクの性能には注意

Page 14: Sql server sql database 最新機能紹介

色々と…

基数推定機能の再設計

遅延持続性

オンライン操作のロック優先順位管理

増分統計

リソースガバナーの物理IOサポート

Page 15: Sql server sql database 最新機能紹介

SQL Server 2014 SP1

リリースしましたが…

SSISDB を使用していると SP1適用で インスタンスが無効で使用出来ない状態になる

http://blogs.msdn.com/b/jpsql/archive/2015/04/23/sql-server-2014-sp1.aspx

触れなかったのでスルー

SP1 は暫くしたら再度公開される予定です

Page 16: Sql server sql database 最新機能紹介

SQL Database V12 の話し

Page 17: Sql server sql database 最新機能紹介

SQL Database って何?

Microsoft Azure 上で提供されている クラウド上のRDB

利用者はデータベースの管理だけしたら良い

テーブル/ユーザー/ストアド/ファンクション とか

SQL Server ベースだが、ちょっと違うとこも…

DB Engine Only!(SSRS/SSIS/SSAS 等は無し)

進んでる点/遅れてる点 両方ある

Page 18: Sql server sql database 最新機能紹介

ざっと全体を…

包含データベース

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

2GBを超えるトランザクションのサポート

BLOB を含むインデックスのオンラインサポート

ALTER COLUMN の オンラインサポート

TRUNCATE TABLE の パーティションサポート

ALTER DATABASE のオプション追加

DBCC コマンドの追加

Page 19: Sql server sql database 最新機能紹介

ざっと全体を…

Dynamic Data Masking

Row-Level Security

Window関数(OVER句)のサポート

.NET CLR の一部サポート

Change Tracking

XML インデックスのサポート

ヒープテーブルのサポート

アプリケーションロールのサポート

Page 20: Sql server sql database 最新機能紹介

ざっと全体を…

列ストアインデックスのサポート

並列クエリーのサポート

透過的データの暗号化(TDE) のサポート予定

Page 21: Sql server sql database 最新機能紹介

包含データベース (Contained Databased)

LOGIN を master に作る必要無し

DB の移動が容易

DB 移動したけど、LOGIN 作ってなかった!とかが無くなる

SQL Server では、2012 からある

Page 22: Sql server sql database 最新機能紹介

パーティショニング

テーブル パーティションが出来るようになった!

TRUNCATE TABLE で PARTITON をサポート

一部のパーティションだけ TRUNCATE

SQL Server では未実装!

https://msdn.microsoft.com/en-us/library/ms177570.aspx

Page 23: Sql server sql database 最新機能紹介

ALTER COLUMN のオンラインサポート

一部の処理がオンラインでサポートhttps://msdn.microsoft.com/en-us/library/ms190273.aspx

ポインタを差し替える感じ

http://sqlperformance.com/2015/02/sql-performance/more-online-operations

SQL Server では未実装!

Page 24: Sql server sql database 最新機能紹介

Dynamic Data Masking

結果セットから、対象のテーブル + 列 or 特定のエイリアスに対し、データのマスキングをする

セキュリティ対応接続文字列でのみ有効

監査で使う接続文字列

<servername>.database.secure.windows.net

http://azure.microsoft.com/en-us/documentation/articles/sql-database-dynamic-data-masking-get-started/

SQL Server では未実装!

Page 25: Sql server sql database 最新機能紹介

Row-Level Security

実行プランの最後にユーザー定義関数でフィルタリング

例:テーブルに権限用のカラムを持ち、ユーザー定義関数内で現在のユーザーと対象カラムでフィルタリングする感じ

インデックスは効く

ユーザー定義関数に渡すカラムも考慮すること

https://msdn.microsoft.com/library/7221fa4e-ca4a-4d5c-9f93-1b8a4af7b9e8.aspx

SQL Server では未実装!

Page 26: Sql server sql database 最新機能紹介

Window 関数(OVER句)のサポート

分析関数が使えるようになった

LEAD/LAG/FIRST_VALUE/LAST_VALUE…

OVER (ROWS/RANGE) のサポート

N行目までの集計とかが出来るようになった

select 日付, 金額,sum(金額) over (order by 日付 row between 1 preceding and current row

) as 前日との計from 日次売上

Page 27: Sql server sql database 最新機能紹介

Change Tracking (変更の追跡)

SQL Server では 2008 から

テーブル内の行が変更されたことを保持

変更前のデータは保持しない

UPDATE の場合は、どの列が更新されたかも保持

データは保持しないので、履歴管理というよりは差分更新向け(別DBとの sync とか)

データを持たないので必要なデータサイズは少なめ

Page 28: Sql server sql database 最新機能紹介

ヒープテーブルのサポート

クラスター化インデックスの無いテーブルを利用可能

以前はヒープテーブルではデータの更新が出来なかった

SELECT … INTO によるテーブルの作成兼データの追加も利用可能に!

select * into CopyTable from Table_1

Page 29: Sql server sql database 最新機能紹介

列ストアインデックスのサポート

2つの列ストアインデックスをサポート

NCCI(非クラスター化列ストアインデックス)

CCI(クラスター化列ストアインデックス)

利用出来るサービス階層(エディション) に制限

Premium でのみ利用可

Page 30: Sql server sql database 最新機能紹介

並列クエリー

MAXDOP の指定が可能に

利用出来るサービス階層/パフォーマンスレベルに制限

Premium (P2) 以上でのみ

Page 31: Sql server sql database 最新機能紹介

透過的データの暗号化 サポート予定

Coming soon

SQL Server では 2008 から

データファイル/ログファイルの暗号化

別サーバーでのアタッチ/復元には、証明書&秘密鍵のバックアップも必要

開発者は意識する必要無し

ページレベルで実行され、ディスクに書き込まれる前に暗号化/メモリに読み込まれるときに暗号化解除される

Page 32: Sql server sql database 最新機能紹介

おまけ

Azure SQL Database Elastic Scale

クライアントライブラリ (.NET)

シャーディングによって、スケールアウト/イン を実現

シャードの管理/分割/マージ/クエリ発行/マルチシャードクエリ…

マルチシャードクエリの結果は、全シャードに同じクエリを投げた結果が UNION ALL された感じで取得出来る

Page 33: Sql server sql database 最新機能紹介

まだリリースされていないSQL Server の話し!

Page 34: Sql server sql database 最新機能紹介

SQL Server vNext

PASS Summit 2014 で機能が紹介された

https://www.youtube.com/watch?v=7Pum0vfYtSk&list=PLoGAcXKPcRvanix7u9eqg_qt1tp849rX3&index=2

メモリ最適化テーブル での NCCI

非クラスター化列ストアインデックスをメモリ最適化テーブルで利用可能に

STRETCH TABLE

QUERY STORE

Page 35: Sql server sql database 最新機能紹介

STRETCH TABLE

https://www.youtube.com/watch?v=7Pum0vfYtSk&list=PLoGAcXKPcRvanix7u9eqg_qt1tp849rX3&index=2

http://ryuchan.hatenablog.com/entry/2015/01/19/014521

Page 36: Sql server sql database 最新機能紹介

QUERY STORE

実行プランを保持する機能

実行プランが変わっても、以前の実行プランを保持

再起動OK

現在と以前の実行プランを DMV から取れる

http://www.brentozar.com/archive/2014/11/sql-server-query-store/

http://slavasql.blogspot.jp/2014/11/newest-sql-server-feature-query-store.html

http://slavasql.blogspot.jp/2014/11/newest-sql-server-feature-query-store.html

Page 37: Sql server sql database 最新機能紹介

まとめ

Ignite で SQL Server vNext のセッションがある!

Microsoft SharePoint Server 2016 with SQL Server vNext: Better Together

http://ignite.microsoft.com/session/sessionmoreinfo/?topicid=fd37928b-3795-e411-b87f-00155d5066d7#fbid=JB4HmMrttaO

SQL Server 2016 の CTP が近々出るらしい!

5/26-27 開催の de:code で 2016 のセッションがある

2016 はよ!