SQL Server 2019の強化ポイント
今回のセッション内容は、2019年11月4日から8日までの5日間に亘り米国フロリダ州オーランドで開催された、マイクロソフトのテクニカルカンファレンス「Microsoft Ignite」で発表された内容がいち早く紹介される場となった。
Microsoft Data Platformの代表となる製品が、リレーショナル・データベースのMicrosoft SQL Serverだ。それに加えNoSQL、データウェアハウス用、ビッグデータ用のデータベースなどで、Microsoft Data Platformは構成される。
Igniteのタイミングで一般提供が始まったSQL Server 2019は、オンプレミスはもちろんクラウドでも利用できるマイクロソフトのフラグシップのリレーショナル・データベースだ。「既にRC版の段階で本番環境に近い形で利用され、ユーザーからかなり使い叩かれました」と畠山氏。その結果、一般提供開始の段階でかなり完成度の高いものに仕上がっていると言う。
前バージョンのSQL Server 2017では、AI、機械学習の機能をデータベースエンジンに取り込みデータベースがインテリジェンスを持つようになった。SQL Server 2019では、さらにその部分の強化がなされている。もう1つSQL Server 2017から引き続き強化されているユニークなポイントが、従来のWindows版に加えLinux版、コンテナ版が提供されていることだ。
クエリ性能を向上させるために、実行タイミングに適した処理を行う機能「Adaptive Query Processing」もSQL Server 2019の重要な強化ポイントだ。これもSQL Server 2017で搭載された機能だが、2017ではカラムストアでしか利用できず、アナリティクスなどの用途でのみの機能だった。
2019ではOLTPに強い行指向のテーブルにも対応し、バッチモードで複数行を集めて行うような処理においても、CPUとディスクIOを最適化しクエリ性能の向上を図れるようになっている。
SQL Server 2019の他のポイントとしては、セキュリティ関連機能の強化がある。多くの機能が追加され、かなり細かいレベルできめ細かくデータを守れるようになっている。中でもデータベースの暗号化については、セキュリティで保護されたエンクレーブが設定された「Always Encrypted」が利用できる。
これにより、従来できなかった暗号化列の比較や初期データの暗号化をインプレースでの実行が可能となった。エンクレーブが利用できることで、ランダム暗号化にも対応している。これらにより仮にデータベースファイルをデバッカーで参照しても、中身は暗号化されどういった情報が格納されているかは判別できない。
さまざまな機能拡張がなされているSQL Server 2019だが、リレーショナル・データベースであるためスケールアウト型の拡張には弱味がある。この問題を根本的に解決するのが「Big Data Cluster」だ。これはコンテナベースのクラスターの仕組みで、Kubernetesの上に展開され管理される。
データ処理にはSQLエンジンに加えSparkもあり、ファイルシステムではHDFSも活用できる。これにより並列処理ができる大規模なクラスター構成がとれるのだ。またData Hubの機能を組み合わせることで、さまざまなデータベースをソースとして透過的に接続できる。これを使えばユーザーは、ソースのデータベースを意識することなく1つのSQL Serverを扱っているのと同じように利用できる。
もう1つのスケールアウト型の拡張機能が、「Azure Hyperscale Database」だ。IgniteのタイミングでPostgreSQL版の一般提供開始がアナウンスされ、さらにSQL Serverにも新たに対応することが明らかにされた。これは買収したCitus社の技術を利用したもので、マネージドサービスの形で提供される。
PostgreSQLのサービスはWeb上の画面でノード数を選択することで、20ノードまでのクラスター環境をすぐに構築できる。別途リクエストすれば、100ノードなどさらに大規模なクラスター構成も可能だ。「Hyperscale Databaseの特長は、限りなくゼロダウンタイムでノードを拡張できることです」と畠山氏。さらに、高可用性構成のオプションも選択できる。ただし、現時点では日本リージョンでは利用できない点には注意して欲しいとのことだ。