38
SQL Server 2014 新新新新新新 2014/03/22 MVP Community Camp 新新 SQLWorld 新 新

Sql server 2014 新機能の紹介 改訂版

Embed Size (px)

DESCRIPTION

MVP Community Camp 2014 大阪 http://atnd.org/event/E0024087

Citation preview

Page 1: Sql server 2014 新機能の紹介 改訂版

SQL Server 2014 新機能の紹介

2014/03/22 MVP Community Camp 大阪SQLWorld お だ

Page 2: Sql server 2014 新機能の紹介 改訂版

やっとリリース日が公開されました!!

2014/04/01

Page 3: Sql server 2014 新機能の紹介 改訂版

自己紹介

織田 信亮大阪で開発者していますSQLWorld の代表です

http://odashinsuke.hatenablog.com/Twitter:@shinsukeoda

Page 4: Sql server 2014 新機能の紹介 改訂版

SQL Server 2014 (CTP2) 新機能の紹介

CTP2 時点での情報が主です ( 製品版では変更あるかも )参考資料

SQL Server 2014 CTP2 製品ガイドMSDN SQL Server 2014

Page 5: Sql server 2014 新機能の紹介 改訂版

SQL Server 2014 は劇的に状況を変える!

Mission-Critial Performance処理の高速可、可用性、セキュリティ、…

Platform for Hybrid Cloudバックアップ、移行、スケールアウト、…

Faster Insight from Any DataExcel 、様々なデータ、…

Page 6: Sql server 2014 新機能の紹介 改訂版

全部は紹介出来ないので…

個人的に興味がある機能を中心にご紹介します

Page 7: Sql server 2014 新機能の紹介 改訂版

Mission-Critial Performance

Page 8: Sql server 2014 新機能の紹介 改訂版

インメモリ OLTP (Hekaton)

100 倍速くしたい => HekatonSQL Server があれば OK !メインメモリ最適化T-SQL フルコンパイルロックフリーの高並列

Page 9: Sql server 2014 新機能の紹介 改訂版

メモリ最適化テーブル (Memory Optimized Table)

全データをメモリに格納することが前提データの永続化は選択可能

永続化しないという選択肢もあるロックフリー

tempdb を使わないスナップショット分離レベルロック / ラッチは基本無し!同時更新は CPU 命令を使った楽観的同時実行制御 ( 先勝ち )

Page 10: Sql server 2014 新機能の紹介 改訂版

メモリ最適化テーブル (Memory Optimized Table)

マルチバージョン行はタイムスタンプで管理された複数バージョンを持つ削除や更新されても古いデータは直ぐには削除されない

インデックスポイント参照用の非クラスター化ハッシュインデックス範囲 / ソート スキャン用の非クラスター化インデックス最大 8 個まで

Page 11: Sql server 2014 新機能の紹介 改訂版

ハッシュインデックスと行データ

Page 12: Sql server 2014 新機能の紹介 改訂版

ファイル構成

永続化する場合に書き込みが発生する永続化しない場合でもファイル / ファイルグループは必要

トランザクションログ通常のテーブルと同じファイルボトルネックになる場合は、「遅延した持続性」を使う事も

メモリ最適化用ファイルグループデータファイル / デルタファイルある範囲のタイムスタンプのデータが 1 対となって書き込まれている。データファイル:追加 / 更新した新しいデータデルタファイル:削除 / 更新された古いデータ

データ行は、データファイルがもってるので参照情報のみ

Page 13: Sql server 2014 新機能の紹介 改訂版

ネイティブコンパイル ストアドプロシージャ

作成時にコンパイルされる通常のストアドは初回実行時にコンパイル

メモリ最適化テーブルにしかアクセス出来ないATOMIC ブロックによるトランザクション制御

明示的な COMMIT/ROLLBACK は不要ATOMIC ブロックはネスト出来ない

構文 / 演算子 / 関数等に制限があるouter join 出来ないとか

ネイティブ コンパイル ストアド プロシージャでサポートされる構造http://msdn.microsoft.com/ja-jp/library/dn452279(v=sql.120).aspx

Page 14: Sql server 2014 新機能の紹介 改訂版

制限事項

DDL の変更は出来ないちょっと列追加しよう / インデックス追加しようが出来ない新しいテーブルを作成し、データを移し替える必要がある

行の最大サイズが決まっている (8060 バイト )varchar(max), varbinary(max) 等の LOB は使えない

トランザクション分離レベルの制限… etc

Transact-SQL によるインメモリ OLTP のサポートhttp://msdn.microsoft.com/ja-jp/library/dn133180(v=sql.120).aspx

SQL Server によるインメモリ OLTP のサポートhttp://msdn.microsoft.com/ja-jp/library/dn133189(v=sql.120).aspx

Page 15: Sql server 2014 新機能の紹介 改訂版

列ストアインデックス

クラスタ化列ストアインデックス が追加された更新可能非クラスタ化列ストアインデックスは更新不可※

テーブルに 1 つのインデックスのみクラスタ化列ストアインデックスのみ

インデックス = データデータサイズが少ない

Page 16: Sql server 2014 新機能の紹介 改訂版

行ストア

通常のテーブルのデータ格納方式行を基準にデータを格納データの読み込みはページ単位 (8K)

Page 17: Sql server 2014 新機能の紹介 改訂版

列ストア

SQL Server 2012 から追加された列を基準にデータを格納するデータの読み込みはセグメント単位。セグメントは 1 列のデータを大体 100 万件格納した単位。列単位でデータを格納するが、同じ行のデータは RowGroup という単位でまとめられている。

Page 18: Sql server 2014 新機能の紹介 改訂版

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

列ストアはデータの更新が出来ない!

行ストア(デルタストア:追加されたデータを格納 )

削除済マーク

列ストア

Page 19: Sql server 2014 新機能の紹介 改訂版

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

データの追加は?行ストア ( デルタストア ) を持てば OK

データを削除は?行ストア内のデータ:そのまま削除列ストア内のデータ:削除済みとしてマーキング

データの変更は?行ストア内のデータ:そのまま変更列ストア内のデータ:追加と削除

Page 20: Sql server 2014 新機能の紹介 改訂版

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

デルタストアは、 100 万行程度が格納されると書き込みを止めて、新しいデルタストアを作成書き込みが止まったデルタストアは、タプルムーバーと呼ばれるバックグラウンドジョブで列ストアに変換一括読み込み (BULK INSERT) である程度の行数が追加される場合は、デルタストアを経由せず直接列ストアに格納される。 (102,400 行以上 )

クラスター化列ストア インデックスの使用http://msdn.microsoft.com/ja-jp/library/dn589807(v=sql.120).aspx

Page 21: Sql server 2014 新機能の紹介 改訂版

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

インデックスの再構築 (REBUILD)オンラインでは出来ないデルタストアと列ストアのデータをマージし、全て列ストアに変換列ストアのデフラグ ( 削除済マーク行は削除 )

インデックスの再構成 (REORGANIZE)書き込みを止めたデルタストアを列ストアに変換

Page 22: Sql server 2014 新機能の紹介 改訂版

2012 より強化された列ストアインデックス

データ型の追加decimal, datetimeoffset でフル桁 OK !binary/varbinary (max は NG)

バッチモードの強化OUTER JOIN とかが バッチモードで動く様になった行モードとバッチモードがあって、バッチモードの方が CPU の負荷が低いバッチモードは、パラレル必須!

Page 23: Sql server 2014 新機能の紹介 改訂版

バッファプール拡張

Standard から使えるようになりました!バッファプールに SSD とかの速いディスクを使おう

メモリが足りない時に、速いディスクでカバーたくさんメモリを積んでるサーバーは対象外

128GB より大きいサーバーはだめ~サイズは、 Max Server Memory の 32 倍まで

128GB * 32 = 4TB が Max

他社製品にも同じようなのあるよOracle Database Smart Flash Cache

Page 24: Sql server 2014 新機能の紹介 改訂版

バッファプール拡張

ディスクからデータを読むのは一般に遅い一度読んだデータはメモリ ( バッファプール ) にキャッシュ (保持 ) しておくメモリが足りなくなったら、あまり使われなかったデータはキャッシュアウトされる ( メモリから消される )そこで、 SSD 等の早いディスクを第二のキャッシュとして利用する!

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

Page 25: Sql server 2014 新機能の紹介 改訂版

AlwaysOn AG の強化

セカンダリレプリカの台数増加4 => 8 へ ( 最高で 9 レプリカ構成 )同期コミットのレプリカ数は変わらず ( プライマリ含めて 3 レプリカ )

障害発生時の読取維持プライマリ / クラスタークォーラムがダメになっても、セカンダリの読取は維持するよー

Page 26: Sql server 2014 新機能の紹介 改訂版

Always On

SQL Server 2012 から追加された高可用性の仕組みAlways On FCI

フェールオーバークラスタインスタンス以前の機能で近いのは、フェールオーバー

Always On AG可用性グループ以前の機能で近いのは、ミラーリング

Page 27: Sql server 2014 新機能の紹介 改訂版

権限の追加

責務の分離と特定の目的に沿った権限DB 管理者だけど、ユーザーデータにはアクセス出来ない

追加された権限 許可される内容CONNECT ANY DATABASE 既に作成済、今後作成される全てのデータベースに対しての接続可

能。接続可能なだけで、データの検索等の権限は無い。

IMPERSONATE ANY LOGIN 他のログインの権限を借用出来る。SELECT ALL USER SECURABLES ユーザーが接続出来る全てのデータベースのデータを閲覧可能。

監査目的で使われる。ALTER ANY DATABASE EVENT SESSION 全てのメタデータを読み取る権限。 SCOM(System Center Operation

Manager) 等、監視のために使われる。

Page 28: Sql server 2014 新機能の紹介 改訂版

他にも色々強化されてます

リソースガバナー遅延した持続性パーティションインデックスの再構築 /オンライン操作のロック優先順位基数推定機能の見直しetc…

Page 29: Sql server 2014 新機能の紹介 改訂版

Platform for Hybrid Cloud

Page 30: Sql server 2014 新機能の紹介 改訂版

バックアップ /復元の強化

Windows Azure ストレージへバックアップSQL Server 2012 SP1 CU2 から可能単発指定。運用するには自前で何か作る必要あり。

バックアップ自動化機能の追加 (Smart Backup)SQL Agent を使ったバックアップポリシー管理 / 自動化

復元も Azure ストレージ から直接可能以前は、ローカルにコピーしてから

Page 31: Sql server 2014 新機能の紹介 改訂版

Azure ストレージとの連携

バックアップだけではなく、データファイルを Azure ストレージに配置することが出来る障害対策 / 移行 / 事実上無制限のストレージサイズサーバーに障害が起きても、別サーバーに SQL Server をインストール、 Azure ストレージのファイルをアタッチパフォーマンス的には察してください

Page 32: Sql server 2014 新機能の紹介 改訂版

AlwaysOn 可用性グループ

AlwaysOn 可用性グループ が Window Azure VM に高可用性 /障害復旧 /DR 対策読取のスケールアウト / レポートサーバーバックアップ

AlwaysOn 可用性グループ リスナー もサポート

レプリカを Azure の仮想マシンに追加するウィザード幾つかの制限があるが、 SSMS から可能

SQL Server 2014 というよりは、Windows Azure 側のサポート。SQL Server 2012 でも大丈夫です

Page 33: Sql server 2014 新機能の紹介 改訂版

オンプレの データベース を クラウドへ配置

SQL Server Management Studio (SSMS) から GUI で

SQL Database(旧 SQL Azure) は、 SSMS 2012 からSQL Server on Windows Azure VM は、 SSMS 2014 から

Page 34: Sql server 2014 新機能の紹介 改訂版

Faster Insight from Any Data

注意: SQL Server 2014 関係無い話しが多いです!

Page 35: Sql server 2014 新機能の紹介 改訂版

使い慣れたツールで

Excel !PowerQuery (旧 Data Explorer)色んなデータソースからデータを取得RDB/Azure Marketplace/JSON/XML/OData/HDInsight …

PowerMap (旧 Geo Flow)地図にグラフを乗せるかっこいいやつ。

Page 36: Sql server 2014 新機能の紹介 改訂版

PowerView の多次元モデル ( キューブ ) サポート

SQL Server 2012 SP1 CU4 からSharePoint, SSAS, SSRS を使った、キューブを扱う PowerView が作成可能

Excel 版では無理PowerView 体験サイトhttp://msbi.cloudapp.net/SitePages/%E3%83%9B%E3%83%BC%E3%83%A0.aspx

Page 37: Sql server 2014 新機能の紹介 改訂版

近々開催されるイベント

Accelerate your insightsSQL Server 2014 and Power BI for Office 3652014/04/15 10:00-12:00(PDT)http://www.microsoft.com/en-us/server-cloud/new.aspx?WT.mc_id=social_all_aprildata_paid#fbid=v5O9IAuB3fn