はじめに
ところで、突然SQL Server 2016と切り出されても、「つい先日SQL Server 2014 がリリースされたばかりでは?」といった印象を持っている方が多いかもしれません。ですが、実のところSQL Server 2008以降は、おおむね2年周期でメジャーアップグレードが行われてきています。SQL Server 2016のリリースを来年に控えて、製品の品質向上を計りつつ追加が必要な機能の見極めを行うのに、実は今がとてもよいタイミングなのです。そのため2015年6 月からSQL Server 2016 のプレビュー版がダウンロードしてお試しいただけるように準備されました。また今後、プレビュー版はおよそ一か月ごとに更新されて、その都度新たな機能が追加されます。それに加えてプレビュー版の不具合の修正も同時にすすめられる予定です。
できる限りこの連載でも、新機能とプレビュー版の最新の更新情報を織り交ぜながら進めていきたいと思っています。また、本連載をご覧になっている皆さんにもぜひ様々な新機能を試していただき、使い勝手のよくないところや考慮が不足している部分などをフィードバックサイトからご指摘いただけると、とてもありがたく思います。皆さんのフィードバックがSQL Server 2016の品質向上と安定につながりますので、ぜひともご協力をお願いします!
SQL Server 2016 で追加される予定の機能
それではSQL Server 2016で追加される機能の概要紹介から始めようと思います。初めにお知らせしたいのが、Microsoft Azure SQL Database(クラウド上のPaaS)とオンプレミス版SQL Serverの機能追加順序に変化が生じた点です。SQL Server2014までは一部の例外を除いて、まず最初にオンプレミス版で実装された新機能が、Microsoft Azure SQL Databaseに追加されるという順序が主流でした。 ところがSQL Server 2016からはその流れが一部の機能で逆転します。まず Microsoft Azure SQL Databaseで新機能がプレビューという形で公開され、その後オンプレミス版であるSQL Server 2016の正式機能として追加されます。つまり今回のリリースはクラウドとオンプレミスの新機能実装順序が逆転する転換点といえます。
具体的には次の機能がMicrosoft Azure SQL Databaseで、既にプレビュー機能としてお試しいただくことができます。そしてオンプレミス版ではSQL Server 2016で実装される予定です。
クエリストア |
実行されたクエリのクエリ実行プランと、クエリ実行時の統計情報を取集し、その情報をグラフィカルにレポートする機能です。これまでとてもハードルの高かった、クエリのパフォーマンスの履歴の確認やクエリ実行プランが変化したタイミングの把握を簡単に行えるようになり、パフォーマンス問題に関わるトラブルシューティングを身近なものにします。 |
動的データマスキング |
高い機密性を要求されるデータをクライアントへ返す際に、データに対して動的にマスクをかけるための機能です。この機能を使うことによって、機密情報の漏えいのリスクを低減させることができます。 |
行レベルフィルター |
従来のバージョンではアクセス権を付与する対象がテーブル単位、列単位に限られていました。行レベルフィルターによって、それらに加えて特定の「行」をアクセス権の付与対象とすることができるようになります。これによって、よりきめ細かい権限管理が可能になります。 |
続いては、Microsoft Azureとオンプレミス版SQL Serverの親和性を、より高めるために実装された機能です。
ストレッチテーブル |
オンプレミス版SQL Serverインスタンス上のテーブルを、Azureに拡張することができます。参照頻度の低いデータなどをAzureに移行することにより、管理コストや運用コストの削減が期待できます。 |
バックアップ機能拡張 |
Azure ストレージをデータベースファイルの配置先として使用するシナリオで、バックアップ操作の機能拡張が行われています。 |
次に紹介するのは、既存コンポーネントの機能拡張情報です。
AlwaysOn |
MSDTCを使用した分散トランザクションのサポートや、自動フェールオーバー先の3サイトでの構成が可能(従来は2サイト)になるなど、これまで要望の高かった機能がAlwaysOnに追加されます。 |
列ストアインデックス |
クラスタ化/非クラスタ化列ストアインデックスの双方でサポートされる操作が拡張される予定です。これにより活用の幅が大きく広がることが期待されます。
非クラスタ化列ストアインデックス
|
In-Memory OLTP |
メモリ最適化テーブルおよびネイティブ ストアド プロシージャでサポートされるデータ型やT-SQLの種類が大きく増える予定です。また、SQL Server 2014ではサポートされなかったALTERステートメントによるテーブル/プロシージャ定義の変更が可能になり、メンテナンスの柔軟性が向上します。 |
さらには既存機能とは発想や用途が大きく異なる、意欲的な新機能も実装される予定です。
R言語サポート |
統計解析の主流である R 言語を使用した分析が、データベースエンジン内で可能なります。 |
JSON サポート |
データベースエンジンがJSONフォーマットを理解することにより、データのJSONフォーマットへの変換や構造化データのJSONフォーマットなどが可能になります。 |
Polybase |
T-SQLを使用してリレーショナルデータだけではなく、非リレーショナルデータへのアクセスを可能にする機能です。 |
Temporal |
ISO標準 SQL:2011に基づき、データベースエンジン自体が履歴データを収集する機能です。これにより、監査やコンプライアンスへの対応が可能になり、データの変遷を容易に確認することができます。 |
Always Encrypted |
クライアント側のAPIを使用してデータを暗号化することにより、ネットワーク上やデータベース内(オンプレミス、クラウドを問わず)のデータをセキュアに保つための機能です。 |
これら盛りだくさんの新機能の詳細を、本連載で順次紹介していく予定です。どうぞお楽しみに!