日本マイクロソフトは2017年10月26日、今月始めにローンチした「Microsoft SQL Server 2017(以下、SQL2017)」に関するプレスセミナーを開催した。SQL2017における最大の特徴は、これまでWindowsに限っていたプラットフォームをLinux/Dockerに広げた点である。本稿では同社のデータプラットフォームに対する姿勢とSQL2017に関する情報をご報告したい。

Windows版よりLinux版が高速なSQL Server 2017

昨今は蓄積したデータをAI(人工知能)で分析し、知見獲得やデータに基づいてアクションを起こすデータドリブン経営が浸透しつつある。Cisco VNI Mobileの調査によれば2015年から2020年までのデータトランザクションは2.7倍に増加し、年平均成長率は22%に及ぶと予測する。だが、注目すべきはコネクテッドカーやドローンなどが取得するデータトランザクションである。こちらは7.8倍と年平均成長率は53%にも及び、2020年までに月間データ流通量は194EB(エクサバイト)まで拡大すると見込んでいる。

このように増加の一途を辿るデータだが、このデータ活用が企業の価値を大きく左右すると語るのは、日本マイクロソフト クラウド&エンタープライズビジネス本部 データ&AI プラットフォームマーケティング部 エグゼクティブプロダクトマネージャー 岡本剛和氏。現在のデータ分析能力はCMMI(能力成熟度モデル統合)などを用いて現状確認を行うが、データの事後的な利用を行う第1段階の企業と、データ解析による知見取得や予測的利用を経て新たなビジネスを創出する第4段階にある企業を比較すると、営業利益は8%の開きが生じるという。これを通貨に置き換えれば「年間100億円相当の格差となる」(岡本氏)。これまで多くの日本企業が「経験・勘・度胸」を核としていたが「データドリブン経営の時代となった」(同氏)。だからこそ数あるサーバー製品群のなかでも、SQL2017の存在を重視するのだろう。

日本マイクロソフト クラウド&エンタープライズビジネス本部 データ&AI プラットフォームマーケティング部 エグゼクティブプロダクトマネージャー 岡本剛和氏

SQL2017の特徴は多岐にわたるが、日本マイクロソフト クラウド&エンタープライズビジネス本部 データ&AI プラットフォームマーケティング部 シニアプロダクトマネージャー 横井羽衣子氏は「Hello Linux, Hello Docker」「Data Everywhere」「AI」と3つのキーワードを並べた。1つめは冒頭で述べたようにプラットフォームの拡充だが、残り2つは「どこでもデータを利用できる。そしてデータはAIを使いこなす時代」(横井氏)という。SQL2017はデータの蓄積や分析、レポーティングによる可視化などデータにまつわるすべての機能を搭載してため、既に同社ではSQL2017をデータベース(DB)サーバーとして扱っていないそうだ。

日本マイクロソフト クラウド&エンタープライズビジネス本部 データ&AI プラットフォームマーケティング部 シニアプロダクトマネージャー 横井羽衣子氏

さて、SQL2017の具体的な機能として日本マイクロソフトは「プラットフォーム制限からの開放」「脆弱(ぜいじゃく)性がもっとも少ないDB」と説明する。前者は繰り返しになるがWindows以外にLinux及びDocker版の存在を指す。価格変更などは行わず同一エディションでWindows及びLinuxの利用権利を取得し、SA(ソフトウェア アシュアランス)+SQL2017 Enterprise Editionは、Machine Learning Server for Hadoopの構成やPower BI Report Serverをオンプレミスで利用できる権利を得る。なお、サポートするLinuxディストリビューションはRHEL(Red Hat Enterprise Linux) 7.3/7.4(ファイルシステムはXFS/ext4)、SUSE Linux Enterprise Server v12 SP2(ext4)、Ubuntu 16.04(ext)の3種類。Dockerエンジンは1.8以降をサポートする。

SQL2017の主な特徴。青色の部分を最適化することで高いパフォーマンスを引き出している

今回、日本マイクロソフトが強調したのはLinux版のパフォーマンスだ。下図はDBシステムの検索処理性能ベンチマークの「TPC-H」を用いたベンチマーク結果だが、RHEL 7.3上のSQL2017 Enterprise Editionが最上位となる。機能的にもLinux版とWindows版は基本的に変わらず、Windows/Linux版を組み合わせた冗長構成やクラスターレスの可用性グループの構築も可能だ。操作もMSCM(Microsoft System Center Management)やSSMS(SQL Server Management Studio)を利用すれば、Windows版とLinux版の違いはない。海外の事例では、社内OSをLinuxに統一する際、それまで動作していたWindows版からLinux版に移行したという。当初は半年の学習コストを計上していたが、蓋を開けるとコストゼロに加えてロギングとメッセージングを単一プロセスに統合したことで、監視時間を50%短縮できたそうだ。また、ツール群も既存のsqlcmdや、Linux版Visual Studio Codeなどが利用できるが、Microsoftは今後Windows PowerShellライクなコマンドラインツール「mssql-cmd」のリリースを予定している。現時点で次期は未定だが、パイプ処理やCSV/JSON形式のエクスポートなどを可能にするという。

TPC-Hによるベンチマーク結果。RHEL 7.3をプラットフォームとしたLinux版SQL2017 Enterprise Editionがトップに並ぶ

今回のプレスセミナーで興味を惹くのが、SQL Serverの歴史とLinux版に至った流れだ。SQL Serverのファーストバージョンは1989年にリリースしたOS/2版だが、話は1996年のバージョン6.5から始まる。当時はWindowsのスケジューラを利用していたため、不用なスレッドにもCPU処理が割り当てられていた。結果的にCPU利用率が向上せず、スループットは限界だったという。そこで1998年のバージョン7.0からSQL Server 2000では、UMS(User Mode Scheduler)を実装し、先の問題を解決した。「この頃からエンタープライズやミッションクリティカル領域でのSQL Server採用が進んだ」(横井氏)という。

SQL Server 2005からSQL Server 2016までは、スレッドスケジューラとリソース管理を行う"SQL OS"を実装し、コンポーネントの統一も図った。特に開発コード名「Yukon(ユーコン)」で知られたSQL Server 2005はコードをフルスクラッチで書き直し、安定性と高パフォーマンスを実現した。Linux版SQL2017の基本構成はこの時期に確立したという。ソースコードレベルで融合しているWindows/Linux版SQL2017だが、Linux版は"SQL PAL(Platform Abstract Layer)"を実装している。これは抽象化レイヤーとしてSQL OSと連携しながらスケジュールやメモリー管理を行うため、「Linux版だからと構えることは何もない」(横井氏)と日本マイクロソフトは強調した。

SQL PALの構成

後者の脆弱性に関しては、NIST(米国立標準技術研究所)が毎年行っている調査結果を元にしている。日本マイクロソフトの説明によれば、もっとも脆弱性が低いDBとして7年連続のトップを維持しているそうだ。これはMicrosoftのセキュリティに対する意識の表れだと横井氏は語る。「SQL Slammer(SQL Serverをターゲットにしたマルウェア。2003年1月に存在が見つかり、爆発的なスピードで感染した)など『SQL Serverはセキュリティに弱い』と見られた時期があった。そこからMicrosoftの意識は変わり、脆弱性に対してもパフォーマンスと同等に譲れない部分として、テスト評価などを手厚く行っている。ここに差が生じている」(横井氏)のだろう。

SQL2017が備える特徴の1つとしてR/Pythonが利用可能なった点がある。R/Pythonで記述したスクリプトをクエリ経由で実行し、格納データを用いた深層学習にGPUパワーを使って行うなど、データサイエンティスト向けソリューションとしての側面が強い。SQL2017 Standard Editionは基本的な機械学習機能のみサポートし、並列処理やスタンドアロンの機械学習サーバーに関してはEnterprise Editionのみとエディションによる差異は存在するが、蓄積データをわざわざ取り出して学習モデルを作るよりも、SQL Server Analysis Serviceを使って内部処理した方がスピーディである。

収集した画像をAI学習させるPythonスクリプトを実行し、SQL Server Reporting Servicesで可視化するデモを行った、NECソリューションイノベータ プラットフォーム事業本部 サポートサービス事業部 データベースソフトウェアサービスグループ マネージャーの大田智行氏

日本マイクロソフトはチューニング済みサーバー環境を提供するアプライアンスを継承し、「SQL Server Data Appliance」としてデータ分析モデルを3ライン、NVIDIA Tesla GPUを搭載したデータサイエンティストモデルの2ラインを用意。また、2017年10月から2018年6月まで、Linux版SQL2017の期間限定ライセンスプロモーションを実施する。SCE(サーバー及びクラウド加入契約)/EA(エンタープライズ アグリーメント)などで提供し、サブスクリプション料金はSQL Server SAと同等でコア単位のStandard EditionとEnterprise Editionで利用可能。レッドハットも独自キャンペーンを行う予定だ。このようにLinux市場でも攻勢に出る日本マイクロソフトだが、LinuxにはPostgreSQLやMySQLなどOSS(オープンソースソフトウェア)のDBが存在する。この点については、「Oracle DatabaseのLinux版が存在するように、パッケージやサポートの理由から市場はある」(岡本氏)。「SQL Serverを立ち上げるのは時間がかかるため、Docker版の市場は今後広がっていく」(横井氏)と説明した。

阿久津良和(Cactus)