検索
連載

クエリストアって何だ? SQL Server 2016のパフォーマンス向上に注目Database Watch(2015年6月版)(1/2 ページ)

2015年6月に開催されたイベント「DB tech showcase」の講演の中から、2016年にも正式版がリリースされる次期SQL Serverの目玉機能をウオッチ。

Share
Tweet
LINE
Hatena

連載バックナンバー

 2015年6月10〜12日に開催されたデータベースエンジニアのためのイベント「DB tech showcase」(インサイトテクノロジー主催)。会期中は、商用/非商用、RDBMS/NoSQLなどの種別を問わず、データベーステクノロジに関する多様な講演、ハンズオンが行われました。本稿ではその中でも「Microsoft SQL Server 2016」に関する講演に注目しましょう。講演で登壇したのは日本マイクロソフト エグゼクティブ プロダクトマネージャである北川剛氏です。

クラウドファースト時代のデータベースとして登場するSQL Server 2016


北川剛氏

 マイクロソフトが提供するデータベースソフトウエアの次世代版である「Microsoft SQL Server 2016(以下、SQL Server 2016)は2016年上半期に正式リリースを予定しています。現時点では、日本マイクロソフトが運営する技術情報サイト「TechNet」でCTP2(Community Technology Preview 2)が公開されています。


SQL Server 2016 CTP2(Community Technology Preview 2)を公開しているTechNetのWebサイト。180日間の評価版をダウンロードできる。ISOイメージ、CABファイルの他、「SQL Server on Azure」もある(画像クリックでTechNetの該当ページへ移動)

 2016年と聞くと「まだまだ先だな」と思えますよね。特に過去にSQL Serverに触れてきた方からすると、1年後といわず「R2待ち」を想定しがちかもしれません。しかし、直近のSQL ServerやWindows Serverなどに触れた方ならご存じのように、最近のマイクロソフトの製品開発と新バージョンのリリース品質は、過去のイメージを払拭するものになっています。加えて、後述するように次期版のSQL Serverに触れる機会がCTPだけではないという点にも注意が必要です。

 北川氏によると、今回の次期版開発プロジェクトはマイクロソフトの「クラウドファースト」の理念を本格的に実践しているといいます。

 現在、マイクロソフトが提供するRDBMSには、インストールして使う「Microsoft SQL Server」だけでなく、Microsoft Azureのサービスとして利用する「SQL Database」の二つがあります。両者の違いや共通点は『Azureの「SQLデータベース」とSQL Serverは何が違う?』で紹介した通りです。この記事でも紹介したように、二つのプロダクトは実装コードを共有しています。いわば、同じDNAを持つきょうだいのような間柄です。前者をオンプレミス版、後者をPaaS版と言い換えてもいいでしょう。

 こうした背景もあり、SQL Server 2016で盛り込まれる新機能は、段階的にMicrosoft AzureのSQL Databaseの「パブリックプレビュー」という形で提供されていきます。そのため、SQL Server 2016の正式版が提供されるまでには、マイクロソフト内部の検証だけでなく、Microsoft Azureというクラウド環境でも広くユーザーのチェックを受け、そのフィードバックも反映した品質のものになるでしょう。

 情報システムの多くでは、堅牢であること、安定していること――言い換えれば、十分に枯れた技術であることが重視されてきました。ですから、一般的に「新バージョン」というと「誰も試していない」という理由で忌避されがちでしたが、クラウドサービスで先行公開、実証済みのこなれた状態で新製品が提供されるのは導入のハードルを下げそうです。クラウドが普及した今だからこそ実現する手法といえるでしょう。

 さて、SQL Server 2016ではどのような新機能が盛り込まれているのでしょうか。北川氏は、次のように新機能の三つの大きな柱を示しました。

SQL Server 2016新機能の三つの柱

  1. ミッションクリティカルパフォーマンス
  2. データを通じた深い洞察
  3. ハイパースケールクラウド

 この中でもマイクロソフトが特に力を入れているのは(1)のパフォーマンスです。実際に北川氏のセッションでもほとんどがパフォーマンスに関する話題に費やされました。今回はその中でも、インメモリエンジンの拡張、クエリストア、テンポラルデータベースの3点を中心に紹介します。

パフォーマンス改善の新機能1:インメモリエンジンの拡張

 データベース専門家の間では「データベースを使うならOLTPとデータウエアハウスは分けた方がいい」という考えが根強くあります。更新処理とデータ分析ではチューニングの方向性が真逆に近いからです。

 そうした意見がある中、北川氏は「データベースベンダーとしては(更新も分析も両立したデータベースを作り、提供するという)夢を追い求めていく必要があります」と話します。

 実際にSQL Server 2014ではインメモリ処理に最適化したOLTPとして、その名も「インメモリOLTP」を、分析に適した列指向テーブルとして「インメモリカラムストア」を盛り込んでいましたが、実は「両者は両立はできませんでした」(北川氏)。

 SQL Server 2016では、一つのテーブルに2種類のデータを持たせることで、インメモリOLTPとカラムストアを両立できるような機能が予定されています。具体的には、かつて「Hekaton」と呼ばれたメモリ最適化テーブル(インメモリOLTP)に列ストアインデックスを作成できるようになります。これでインメモリでOLTPと分析の両立が可能なデータベースとなり、夢に近づいたというわけです。

 また、SQL Server 2014のインメモリOLTPでは、使用できるメモリ領域の上限は256Gバイトでした。しかし、昨今ではサーバーハードウエアが進化し、より多くのメモリを積めるようになっています。このため、SQL Server 2016ではインメモリOLTPに2Tバイトまでのメモリを利用可能にしています。使用できるメモリ領域が拡大すれば、メモリ上で展開できるデータ量も増えます。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る