SQL Server 2014 新機能の紹介
2014/03/22 MVP Community Camp 大阪
SQLWorld お だ
やっとリリース日が公開されました!!
2014/04/01
自己紹介
織田 信亮
大阪で開発者しています
SQLWorld の代表です
http://odashinsuke.hatenablog.com/
Twitter:@shinsukeoda
SQL Server 2014 (CTP2)新機能の紹介
CTP2 時点での情報が主です(製品版では変更あるかも)
参考資料
SQL Server 2014 CTP2 製品ガイド
MSDN SQL Server 2014
SQL Server 2014 は劇的に状況を変える!
Mission-Critial Performance
処理の高速可、可用性、セキュリティ、…
Platform for Hybrid Cloud
バックアップ、移行、スケールアウト、…
...
全部は紹介出来ないので…
個人的に興味がある
機能を中心にご紹介します
Mission-Critial Performance
インメモリ OLTP (Hekaton)
100倍速くしたい => Hekaton
SQL Server があれば OK!
メインメモリ最適化
T-SQL フルコンパイル
ロックフリーの高並列
メモリ最適化テーブル(Memory Optimized Table)
全データをメモリに格納することが前提
データの永続化は選択可能
永続化しないという選択肢もある
ロックフリー
tempdb を使わないスナップショット分離レベル
ロック/ラッ...
メモリ最適化テーブル(Memory Optimized Table)
マルチバージョン
行はタイムスタンプで管理された複数バージョンを持つ
削除や更新されても古いデータは直ぐには削除されない
インデックス
ポイント参照用の非クラスター化ハッシュ...
ハッシュインデックスと行データ
ファイル構成
永続化する場合に書き込みが発生する
永続化しない場合でもファイル/ファイルグループは必要
トランザクションログ
通常のテーブルと同じファイル
ボトルネックになる場合は、「遅延した持続性」を使う事も
メモリ最適化用ファイルグループ
...
ネイティブコンパイル ストアドプロシージャ
作成時にコンパイルされる
通常のストアドは初回実行時にコンパイル
メモリ最適化テーブルにしかアクセス出来ない
ATOMIC ブロックによるトランザクション制御
明示的な COMMIT/ROLLBACK...
制限事項
DDL の変更は出来ない
ちょっと列追加しよう/インデックス追加しようが出来ない
新しいテーブルを作成し、データを移し替える必要がある
行の最大サイズが決まっている(8060バイト)
varchar(max), varbinary(m...
列ストアインデックス
クラスタ化列ストアインデックス が追加された
更新可能
非クラスタ化列ストアインデックスは更新不可※
テーブルに1つのインデックスのみ
クラスタ化列ストアインデックスのみ
インデックス = データ
データサイズが少ない
行ストア
通常のテーブルのデータ格納方式
行を基準にデータを格納
データの読み込みはページ単位(8K)
列ストア
SQL Server 2012 から追加された列を基準にデータを格納する
データの読み込みはセグメント単位。セグメントは1列のデータ
を大体100万件格納した単位。
列単位でデータを格納するが、同じ行のデータはRowGroup と
い...
クラスタ化列ストアインデックス
列ストアはデータの更新が出来ない!
行ストア
(デルタストア:追加されたデータを格納)
削
除
済
マ
ー
ク
列ストア
クラスタ化列ストアインデックス
データの追加は?
行ストア(デルタストア)を持てばOK
データを削除は?
行ストア内のデータ:そのまま削除
列ストア内のデータ:削除済みとしてマーキング
データの変更は?
行ストア内のデータ:そのまま変更
列スト...
クラスタ化列ストアインデックス
デルタストアは、100万行程度が格納されると書き込み
を止めて、新しいデルタストアを作成
書き込みが止まったデルタストアは、タプルムーバーと
呼ばれるバックグラウンドジョブで列ストアに変換
一括読み込み(BULK...
クラスタ化列ストアインデックス
インデックスの再構築 (REBUILD)
オンラインでは出来ない
デルタストアと列ストアのデータをマージし、全て列ストア
に変換
列ストアのデフラグ(削除済マーク行は削除)
インデックスの再構成 (REORGAN...
2012 より強化された列ストアインデックス
データ型の追加
decimal, datetimeoffset でフル桁OK!
binary/varbinary (maxはNG)
バッチモードの強化
OUTER JOIN とかが バッチモードで動...
バッファプール拡張
Standard から使えるようになりました!
バッファプールに SSD とかの速いディスクを使おう
メモリが足りない時に、速いディスクでカバー
たくさんメモリを積んでるサーバーは対象外
128GB より大きいサーバーはだめ...
バッファプール拡張
ディスクからデータを読むのは一般に遅い
一度読んだデータはメモリ(バッファプール)にキャッ
シュ(保持)しておく
メモリが足りなくなったら、あまり使われなかったデー
タはキャッシュアウトされる(メモリから消される)
そこで、...
AlwaysOn AG の強化
セカンダリレプリカの台数増加
4 => 8 へ (最高で9レプリカ構成)
同期コミットのレプリカ数は変わらず(プライマリ含めて3レプリカ)
障害発生時の読取維持
プライマリ/クラスタークォーラムがダメになっても、...
Always On
SQL Server 2012 から追加された高可用性の仕組み
Always On FCI
フェールオーバークラスタインスタンス
以前の機能で近いのは、フェールオーバー
Always On AG
可用性グループ
以前の機能で...
権限の追加
責務の分離と特定の目的に沿った権限
DB管理者だけど、ユーザーデータにはアクセス出来ない
追加された権限 許可される内容
CONNECT ANY DATABASE 既に作成済、今後作成される全てのデータベースに対しての接続可能。
接...
他にも色々強化されてます
リソースガバナー
遅延した持続性
パーティションインデックスの再構築/オンライン操作の
ロック優先順位
基数推定機能の見直し
etc…
Platform for Hybrid Cloud
バックアップ/復元の強化
Windows Azure ストレージへバックアップ
SQL Server 2012 SP1 CU2 から可能
単発指定。運用するには自前で何か作る必要あり。
バックアップ自動化機能の追加 (Smart Backup)...
Azure ストレージとの連携
バックアップだけではなく、データファイルを Azure ス
トレージに配置することが出来る
障害対策/移行/事実上無制限のストレージサイズ
サーバーに障害が起きても、別サーバーに SQL Server をイ
ンス...
AlwaysOn 可用性グループ
AlwaysOn 可用性グループ が Window Azure VM に
高可用性/障害復旧/DR 対策
読取のスケールアウト/レポートサーバー
バックアップ
AlwaysOn 可用性グループ リスナー もサポ...
オンプレの データベース を クラウドへ配置
SQL Server Management Studio (SSMS)から GUI で
SQL Database(旧SQL Azure) は、SSMS 2012 から
SQL Server on W...
Faster Insight from Any Data
注意:SQL Server 2014 関係無い話しが多いです!
使い慣れたツールで
Excel!
PowerQuery (旧 Data Explorer)
色んなデータソースからデータを取得
RDB/Azure Marketplace/JSON/XML/OData/HDInsight …
PowerMap ...
PowerView の多次元モデル(キューブ)サポート
SQL Server 2012 SP1 CU4 から
SharePoint, SSAS, SSRS を使った、キューブを扱う
PowerView が作成可能
Excel 版では無理
Pow...
近々開催されるイベント
Accelerate your insights
SQL Server 2014 and Power BI for Office 365
2014/04/15 10:00-12:00(PDT)
http://www.mi...
参考資料
Microsoft® SQL Server® 2014 CTP2 製品ガイド
http://www.microsoft.com/ja-
jp/download/details.aspx?id=41203
MSDN SQL Server...
Upcoming SlideShare
Loading in...5
×

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

3,470

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,470
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
37
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. SQL Server 2014 新機能の紹介 2014/03/22 MVP Community Camp 大阪 SQLWorld お だ
  2. 2. やっとリリース日が公開されました!! 2014/04/01
  3. 3. 自己紹介 織田 信亮 大阪で開発者しています SQLWorld の代表です http://odashinsuke.hatenablog.com/ Twitter:@shinsukeoda
  4. 4. SQL Server 2014 (CTP2)新機能の紹介 CTP2 時点での情報が主です(製品版では変更あるかも) 参考資料 SQL Server 2014 CTP2 製品ガイド MSDN SQL Server 2014
  5. 5. SQL Server 2014 は劇的に状況を変える! Mission-Critial Performance 処理の高速可、可用性、セキュリティ、… Platform for Hybrid Cloud バックアップ、移行、スケールアウト、… Faster Insight from Any Data Excel、様々なデータ、…
  6. 6. 全部は紹介出来ないので… 個人的に興味がある 機能を中心にご紹介します
  7. 7. Mission-Critial Performance
  8. 8. インメモリ OLTP (Hekaton) 100倍速くしたい => Hekaton SQL Server があれば OK! メインメモリ最適化 T-SQL フルコンパイル ロックフリーの高並列
  9. 9. メモリ最適化テーブル(Memory Optimized Table) 全データをメモリに格納することが前提 データの永続化は選択可能 永続化しないという選択肢もある ロックフリー tempdb を使わないスナップショット分離レベル ロック/ラッチは基本無し! 同時更新はCPU命令を使った楽観的同時実行制御(先勝ち)
  10. 10. メモリ最適化テーブル(Memory Optimized Table) マルチバージョン 行はタイムスタンプで管理された複数バージョンを持つ 削除や更新されても古いデータは直ぐには削除されない インデックス ポイント参照用の非クラスター化ハッシュインデックス 範囲/ソート スキャン用の非クラスター化インデックス 最大8個まで
  11. 11. ハッシュインデックスと行データ
  12. 12. ファイル構成 永続化する場合に書き込みが発生する 永続化しない場合でもファイル/ファイルグループは必要 トランザクションログ 通常のテーブルと同じファイル ボトルネックになる場合は、「遅延した持続性」を使う事も メモリ最適化用ファイルグループ データファイル/デルタファイル ある範囲のタイムスタンプのデータが1対となって書き込まれている。 データファイル:追加/更新した新しいデータ デルタファイル:削除/更新された古いデータ データ行は、データファイルがもってるので参照情報のみ
  13. 13. ネイティブコンパイル ストアドプロシージャ 作成時にコンパイルされる 通常のストアドは初回実行時にコンパイル メモリ最適化テーブルにしかアクセス出来ない ATOMIC ブロックによるトランザクション制御 明示的な COMMIT/ROLLBACK は不要 ATOMIC ブロックはネスト出来ない 構文/演算子/関数等に制限がある outer join 出来ないとか ネイティブ コンパイル ストアド プロシージャでサポートされる構造 http://msdn.microsoft.com/ja-jp/library/dn452279(v=sql.120).aspx
  14. 14. 制限事項 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
  15. 15. 列ストアインデックス クラスタ化列ストアインデックス が追加された 更新可能 非クラスタ化列ストアインデックスは更新不可※ テーブルに1つのインデックスのみ クラスタ化列ストアインデックスのみ インデックス = データ データサイズが少ない
  16. 16. 行ストア 通常のテーブルのデータ格納方式 行を基準にデータを格納 データの読み込みはページ単位(8K)
  17. 17. 列ストア SQL Server 2012 から追加された列を基準にデータを格納する データの読み込みはセグメント単位。セグメントは1列のデータ を大体100万件格納した単位。 列単位でデータを格納するが、同じ行のデータはRowGroup と いう単位でまとめられている。
  18. 18. クラスタ化列ストアインデックス 列ストアはデータの更新が出来ない! 行ストア (デルタストア:追加されたデータを格納) 削 除 済 マ ー ク 列ストア
  19. 19. クラスタ化列ストアインデックス データの追加は? 行ストア(デルタストア)を持てばOK データを削除は? 行ストア内のデータ:そのまま削除 列ストア内のデータ:削除済みとしてマーキング データの変更は? 行ストア内のデータ:そのまま変更 列ストア内のデータ:追加と削除
  20. 20. クラスタ化列ストアインデックス デルタストアは、100万行程度が格納されると書き込み を止めて、新しいデルタストアを作成 書き込みが止まったデルタストアは、タプルムーバーと 呼ばれるバックグラウンドジョブで列ストアに変換 一括読み込み(BULK INSERT) である程度の行数が追加 される場合は、デルタストアを経由せず直接列ストアに 格納される。(102,400行以上) クラスター化列ストア インデックスの使用 http://msdn.microsoft.com/ja-jp/library/dn589807(v=sql.120).aspx
  21. 21. クラスタ化列ストアインデックス インデックスの再構築 (REBUILD) オンラインでは出来ない デルタストアと列ストアのデータをマージし、全て列ストア に変換 列ストアのデフラグ(削除済マーク行は削除) インデックスの再構成 (REORGANIZE) 書き込みを止めたデルタストアを列ストアに変換
  22. 22. 2012 より強化された列ストアインデックス データ型の追加 decimal, datetimeoffset でフル桁OK! binary/varbinary (maxはNG) バッチモードの強化 OUTER JOIN とかが バッチモードで動く様になった 行モードとバッチモードがあって、バッチモードの方が CPU の負荷 が低い バッチモードは、パラレル必須!
  23. 23. バッファプール拡張 Standard から使えるようになりました! バッファプールに SSD とかの速いディスクを使おう メモリが足りない時に、速いディスクでカバー たくさんメモリを積んでるサーバーは対象外 128GB より大きいサーバーはだめ~ サイズは、Max Server Memory の32倍まで 128GB * 32 = 4TB が Max 他社製品にも同じようなのあるよ Oracle Database Smart Flash Cache
  24. 24. バッファプール拡張 ディスクからデータを読むのは一般に遅い 一度読んだデータはメモリ(バッファプール)にキャッ シュ(保持)しておく メモリが足りなくなったら、あまり使われなかったデー タはキャッシュアウトされる(メモリから消される) そこで、SSD 等の早いディスクを第二のキャッシュとし て利用する! ディスクに読み書きするのでディスクの性能には注意
  25. 25. AlwaysOn AG の強化 セカンダリレプリカの台数増加 4 => 8 へ (最高で9レプリカ構成) 同期コミットのレプリカ数は変わらず(プライマリ含めて3レプリカ) 障害発生時の読取維持 プライマリ/クラスタークォーラムがダメになっても、セカン ダリの読取は維持するよー
  26. 26. Always On SQL Server 2012 から追加された高可用性の仕組み Always On FCI フェールオーバークラスタインスタンス 以前の機能で近いのは、フェールオーバー Always On AG 可用性グループ 以前の機能で近いのは、ミラーリング
  27. 27. 権限の追加 責務の分離と特定の目的に沿った権限 DB管理者だけど、ユーザーデータにはアクセス出来ない 追加された権限 許可される内容 CONNECT ANY DATABASE 既に作成済、今後作成される全てのデータベースに対しての接続可能。 接続可能なだけで、データの検索等の権限は無い。 IMPERSONATE ANY LOGIN 他のログインの権限を借用出来る。 SELECT ALL USER SECURABLES ユーザーが接続出来る全てのデータベースのデータを閲覧可能。 監査目的で使われる。 ALTER ANY DATABASE EVENT SESSION 全てのメタデータを読み取る権限。SCOM(System Center Operation Manager) 等、監視のために使われる。
  28. 28. 他にも色々強化されてます リソースガバナー 遅延した持続性 パーティションインデックスの再構築/オンライン操作の ロック優先順位 基数推定機能の見直し etc…
  29. 29. Platform for Hybrid Cloud
  30. 30. バックアップ/復元の強化 Windows Azure ストレージへバックアップ SQL Server 2012 SP1 CU2 から可能 単発指定。運用するには自前で何か作る必要あり。 バックアップ自動化機能の追加 (Smart Backup) SQL Agent を使ったバックアップポリシー管理/自動化 復元も Azure ストレージ から直接可能 以前は、ローカルにコピーしてから
  31. 31. Azure ストレージとの連携 バックアップだけではなく、データファイルを Azure ス トレージに配置することが出来る 障害対策/移行/事実上無制限のストレージサイズ サーバーに障害が起きても、別サーバーに SQL Server をイ ンストール、Azure ストレージのファイルをアタッチ パフォーマンス的には察してください
  32. 32. AlwaysOn 可用性グループ AlwaysOn 可用性グループ が Window Azure VM に 高可用性/障害復旧/DR 対策 読取のスケールアウト/レポートサーバー バックアップ AlwaysOn 可用性グループ リスナー もサポート レプリカを Azure の仮想マシンに追加するウィザード 幾つかの制限があるが、SSMS から可能 SQL Server 2014 というよりは、Windows Azure 側のサポート。 SQL Server 2012 でも大丈夫です
  33. 33. オンプレの データベース を クラウドへ配置 SQL Server Management Studio (SSMS)から GUI で SQL Database(旧SQL Azure) は、SSMS 2012 から SQL Server on Windows Azure VM は、SSMS 2014 から
  34. 34. Faster Insight from Any Data 注意:SQL Server 2014 関係無い話しが多いです!
  35. 35. 使い慣れたツールで Excel! PowerQuery (旧 Data Explorer) 色んなデータソースからデータを取得 RDB/Azure Marketplace/JSON/XML/OData/HDInsight … PowerMap (旧 Geo Flow) 地図にグラフを乗せるかっこいいやつ。
  36. 36. PowerView の多次元モデル(キューブ)サポート SQL Server 2012 SP1 CU4 から SharePoint, SSAS, SSRS を使った、キューブを扱う PowerView が作成可能 Excel 版では無理 PowerView 体験サイト http://msbi.cloudapp.net/SitePages/%E3%83%9B%E3%83%B C%E3%83%A0.aspx
  37. 37. 近々開催されるイベント Accelerate your insights SQL Server 2014 and Power BI for Office 365 2014/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=v5O9I AuB3fn
  38. 38. 参考資料 Microsoft® SQL Server® 2014 CTP2 製品ガイド http://www.microsoft.com/ja- jp/download/details.aspx?id=41203 MSDN SQL Server 2014 (日本語) http://msdn.microsoft.com/ja- jp/library/bb418470(v=sql.10).aspx
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×