SQL Server 2016 public preview coming this summer で Ignite 2015 のキーノートでさらっと話の出た SQL Server 2016 についての情報が公開されました。
Stretch Database については PASS で発表されているストレッチテーブルになりますが、Always Encrypted / Real-time Operational Analytics & In-Memory OLTP / Built-in Advanced Analytics, PolyBase and Mobile BI については初出かもしれないですね。
Always Encrypted については、SQL Server 側で暗号化キーにより暗号化された列をアプリケーション側のマスターキーで複合化する機能となるようで、今までの列レベルでの暗号化と異なり、SQL Server 側で暗号化を解除するのではなく、アプリケーション側で解除するのが新しいですね。
ほかに新しい発表としては以下でしょうか。
Additional capabilities in SQL Server 2016 include:
- Additional security enhancements for Row-level Security and Dynamic Data Masking to round out our security investments with Always Encrypted.
- Improvements to AlwaysOn for more robust availability and disaster recovery with multiple synchronous replicas and secondary load balancing.
- Native JSON support to offer better performance and support for your many types of your data.
- SQL Server Enterprise Information Management (EIM) tools and Analysis Services get an upgrade in performance, usability and scalability.
- Faster hybrid backups, high availability and disaster recovery scenarios to backup and restore your on-premises databases to Azure and place your SQL Server AlwaysOn secondaries in Azure.
SQL Database でプレビュー実装されている、行レベルセキュリティ、動的データマスクについても SQL Server 2016 で実装されるようですね。
AlwaysOn についても機能拡張がされ、セカンダリのロードバランシングが実装されるようです。
あとは JSON の取り扱いも拡張としてあるようですね。
最新の情報は、SQL Server 2016 Preview をチェックしておくとよさそうです。
セッションとしては、The SQL Server Evolution? / The SQL Server Evolution: Deep Dive でいくつかの機能がデモを含めて紹介されています。
SQL Server の次期機能を
- Mission critical performance
- Deeper insight acress data
- Hyperscale cloud
の 3 つの観点で紹介しています。SQL Server 2014 の時にも似たような軸がありましたね。
Mission critical performance
?
リアルタイム検索のために「In-memory ColumnStore」(列ストアインデックス) +「In-Memory OLTP」(Memory Optimized Table (Hekaton))
PASS のキーノートで発表されていた、Memory Optimized Table + 列ストアインデックスの組み合わせの件ですね。
Ignite のデモでも、非クラスター化列ストアインデックスを使用したデモを実施していますね。
この組み合わせが可能になると、集計系の処理がかなり高速になるのではと思います。
SQL Server 2016 では、「Updatable NCCI」となるようで非クラスターかインデックスの更新が可能となるようです。
In-Memory OLTP と列ストアの組み合わせもできるようです。
Always Encrypted については、「SQL Server 2016 public preview coming this summer」で紹介されていたものですね。
# 名前に「Gim Gray」、感慨深いですのぅ…。
列の情報は暗号化された状態で格納をしておき、アプリケーションサイドで複合化を行う機能となっているようです。
こちらはデモで実際のデータを表示しています。
SSMS で検索をした場合には、データは暗号化された状態 (暗号化されたテキスト) となっています。
しかし、アプリケーションで利用する場合には、データは複合化された状態で表示されています。
ADO.NET のライブラリ側で暗号に対しての吸収をする必要があるのが、「データの列の暗号化」との違いでしょうか。
# こちらはクエリ内で暗号化のキーをオープンする必要があったかと。
検索時にも暗号化された状態でクエリの実行が行われるため、クエリ内に複合化された情報が含まれるということはないようです。
ほかには、SQL Server 2016 で実装される機能が紹介されていますね。
セキュリティ面についてな上記の「Always Encrypted」のほかに SQL Database でプレビューとして実装されている機能が。
SQL Server 2016 では 12 TB のメモリがサポートされるそうです。
Hekaton がはかどりますね。
Query Store についても解説がありました。
グラフィカルなツールで管理できるみたいですね。
あとはTemporal Database が新しい機能でしょうか。
詳細にデータの変更が追える感じなのでしょうか。
Temporal Database 自体は、SQL:2011 規格になるようで Oracle では実装されているみたいですね。
Temporalデータベース機能
Deeper insight acress data
この辺は苦手な領域ですね…。
T-SQL により、Hadoop のデータなどの構造化データ操作できるという感じなのでしょうか。
現状は、PDW (Parallel Data Warehouse) で利用していると思いますが、SQL Data Warehouse のリリースで、一般的に使用できる機会が増えるかもしれないですね。
詳細は以下をウォッチするとよいかと
Microsoft Analytics Platform System
SQL Data Warehouse
ほかにも R 言語を使った解析などがデータの利用としては大きなポイントなのかもしれないですね。
こんな感じで R 言語でスクリプトを書けるらしいです。
SQL Data Warehouse 自体については Microsoft Azure SQL Data Warehouse Overview を見るとよいかと思います。
あとは様々なデバイスで可視化も重要ですね。
全体像はこちらで。
私の専門はストレージエンジンで、データの可視化は苦手なのですが、そうもいっていられないので一度どこかで修行をしたいものですね。
Hyperscale cloud
大きな機能としてはストレッチテーブルが紹介されています。
頻繁に利用される Warm table と アーカイブや使用頻度が低い Cold Table に応じて、配置する場所を分ける感じでしょうか。Always Encrypted や Row Level Security もサポートされるようですね。
まずは、SQL Server で「remote data archive」を有効化する必要があるようです。
その後、データベースに対してストレッチを有効に。
ストレッチテーブルは Azure をデータストアにしますので、Azure へのサインインが必要となります。
サインインをしたら SQL Database の作成場所等を指定するようです。
確認画面で SQL Database の情報が表示されていることが確認できますね。
ストレッチテーブルへのアクセスは通常のクエリと変わらないようです。
デモでは SQL Database 側のファイアウォールにアクセス元の IP が設定されていなくてエラーとなっていましたがw
リストアは REMOTE_DATA_ARCHIVE を意識して行われるようですね。
詳細については Stretching On-Premises Databases to the Cloud で開設されていますが、全体の手順としては以下のようになるようです。
特徴はこちら、
以下のような形で、DB 毎に、どの SQL Database に対して、ストレッチするか設定されるようですね。
ローカルデータを検索した場合は通常のテーブル操作ですが、
ストレッチテーブルを検索した場合には、リモートクエリも実行されていることが確認できます。
sp_spaceudes も「mode」が拡張されているようですね。
設定自体はさくっとできるようです。
ALTER TABLE で有効にすると、このデータが、
このように移行され、
移動が終了すると、データは依然として検索が可能ですが、ローカルのデータとしては、「0」になっていますね。
あと面白いのは、ストレッチされているテーブルは SQL Database では透過的にスケールアウトするということでしょうか。
全体像はこちらで。
あと、SQL Data Warehouse のデモがありました。
DWU という単位でパフォーマンスを変更するようですね。
Japan East が選択されている状態で、作成ができるということは日本でも早い段階で使用できるようになるのでしょうか。
以下の Data Factory のダイアグラムでは、SQL DW に対して各種ディメンションを取得して (オンプレミスの Oracle と SQL Server )、フローを流している感じでしょうか。
Azure ML のデータの源泉としても、SQL DW が利用可能となっています。
Power BI からも接続できるようですね。
DWU の変更も簡単に実施できるようです。
以下を見ていると如何にしてデータを扱えるようになるかにシフトしないといけないな~と思う今日この頃でした。
[…] Ignite 2015 で SQL Server 2016 のアナウンスがありました […]
Microsoft Ignite 2015 Keynote | ブチザッキ
5 5月 15 at 04:08