青いセーターを着た人がコンピュータで作業している
Microsoft Base ロゴ

技術ブログ

Azureに関する技術情報

SQL Server 2019 の一般提供を開始

SQL Server

※このポストは、2019 年 11 月 4 日に投稿されたSQL Server 2019 is now generally availableに加筆および更新を行ったものです。

headshot of Asad Khan

SQL Server および Azure SQL、プログラム管理担当パートナー ディレクター

本日のリリースの発表でお知らせしたとおり、1 年以上前に Microsoft Ignite で発表した SQL Server 2019 の初回プレビューに引き続き、本日はその最新バージョンの一般提供が開始されました。

当社には、お客様から「大量のデータ、多種多様なデータ ソース、ほぼリアルタイムのアプリケーションやクエリのパフォーマンスに対する期待など、さまざまな対応が求められる現在の世界では、単なるデータベース エンジン以上のもの、つまり、最新のデータ プラットフォームが必要だ」というご意見が寄せられていました。

そのすべてのニーズに 1 つの製品で対応できるのが、SQL Server 2019 です。SQL Server 2019 では、中心となる SQL エンジンに拡張機能を加え、ビッグ データに対する組み込みのサポート (Apache Spark、Data Lake) や、最先端のデータ仮想化テクノロジ、組み込みの機械学習機能によって、スケールアップ/スケールアウト システムを実現します。

SQL Server 2019 は、現代のデータ担当者が抱える以下のような課題を解決するために設計されています。

  • エンタープライズ データをデータ レイクに格納し、すべてのデータに SQL や Spark のクエリ機能を実行できるようにする
  • データの移動をなくすことで、ETL (抽出、変換、読み込み) アプリケーションの必要性を低減する
  • スケーラブルなパフォーマンスを備えた機械学習アプリケーションを組み込み、セキュリティで保護する
  • パフォーマンスを向上させるためにアプリケーションやクエリを変更する必要性をなくす
  • ハードウェア エンクレーブを利用して機密性の高いデータ コンピューティングを強化する
  • ADR (高度なデータベース復旧) などの機能を利用して、アプリケーションやデータベースの稼働時間と可用性を向上させる
  • 安全かつ確実な方法で T-SQL 言語の利用を拡張する
  • 互換性により、複数のオペレーティング システムやプラットフォームにまたがってアプリケーションの実行やデータベースの展開を行う
  • 組み込みのデータベース互換性レベルを使用して、準備ができた時点で新しい SQL 機能を利用しながらでも、アップグレードのリスクを低減する

統合データ プラットフォーム

現在、多くの企業がビジネス ニーズに合わせて複数のデータ プラットフォームを使用しています。その範囲は、運用データベースから、データ マート、ビッグ データ プラットフォームまで多岐にわたります。それらのプラットフォームでは、異なるセキュリティ モデルやツールのエコシステムが採用されているため、必要とされるスキル セットや専門知識が異なることも珍しくありません。SQL Server 2019 は、統合データ プラットフォームとして、すべてのニーズに対応できる機能を備えています。

従来のパターンで SQL Server を展開していただくこともできますが、ビッグ データ、データ仮想化、データ マート、エンタープライズ データ レイクといった機能が追加された SQL Server 2019 なら、ビッグ データ クラスター展開にも対応できます。

統合データ プラットフォームの図

ビッグ データ クラスターは、azdata コマンドライン ツール、または GUI ツールの Azure Data Studio による、使いやすい展開および管理エクスペリエンスを備えています。Azure Data Studio (ADS) は VS Code に基づいて構築されたクロスプラットフォームの最新ツールであり、対話型ダッシュボードからビッグ データ クラスターにアクセスするためのエクスペリエンスを備えているほか、SQL や Jupyter Notebook のエクスペリエンスも充実しています。

Azure Data Studio は、オンプレミスとクラウド上の全エンタープライズ データを一元管理できる統合ビューを備えています。SQL Server、データ マート、データ レイクほか、仮想化したい外部データ ソースをすべて表示できます。

Screenshot of Notebook overview

多様なデータ ソースへの接続をサポートする以外にも、Azure Data Studio は組み込みの Jupyter Notebook エクスペリエンスを備えています。ノートブックを使うと、SQL Server ビッグ データ クラスター用に組み込まれた Apache Spark エクスペリエンスに対してアクセス、探索、操作、可視化、モデリングを行うことができますが、私が最も素晴らしいと感じるのは、当社がいかにこれらすべての機能もネイティブの SQL Server エンジンに基づいて有効化しているかという点です。SQL カーネルを使用すれば、オンプレミスかクラウドかにかかわらず、SQL Server のどのバージョンまたはエディションに対しても、T-SQL を使って豊かな対話型エクスペリエンスを実現できます。プログラミングには、Python、SQL、PowerShell、Scala、および R を使用できます。マイクロソフトが自社のドキュメント、展開エクスペリエンス、トラブルシューティング マニュアルを対話型ノートブックに変換する作業を開始したという事実から、どれほど力強い構想かがおわかりいただけるでしょう。当社は引き続き、この新しいパラダイムをデータ エクスペリエンスに取り入れるべく、革新的な手法への投資を進めてまいります。

GIF of deploying the container

ほかにも多くの機能が搭載されている Azure Data Studio は、リレーショナル データベース、データ仮想化、ビッグ データ、組み込みの仮想化のすべてに対応する、最も強力な単一ツールといえます。カスタム ダッシュボードや、インテリジェントな視覚化、極めて拡張性の高いプラットフォームを通して、当社は今後も革新的かつ最新のデータ エクスペリエンスを Azure Data Studio に取り入れることができます。下図の SandDance ビジュアライザーはその一例です。

a close up of a map

Azure Data Studio は GitHub で公開されているため、その進化するツール内で行われている革新的な取り組みの進捗状況をご確認いただけます。Azure Data Studio の機能の詳細については、マイクロソフトのドキュメントを参照してください。

すべてのデータに関するインテリジェンスを提供

現在、多くの企業では、さまざまなプラットフォームやデータ ソースにデータが散在する一方で、それらのデータに一貫した方法でアクセスできる手段が必要になっています。そのため、これまでは複雑でコストのかかる ETL (抽出、変換、読み込み) アプリケーションを構築し、多くの場合、そのデータを SQL Server などの中央のデータベース プラットフォームに移動しなければなりませんでした。

SQL Server 2019 は、データ仮想化機能を備えているため、これらの課題を解決できます。アプリケーションや開発者は、外部テーブルを利用することで、一貫して使い慣れた T-SQL 言語を用いて、Oracle、MongoDB、Azure SQL、Teradata、HDFS などのソースの構造化データや非構造化データにアクセスできます。SQL Server 2019 でサポートされている “組み込みドライバー” によって、これらのデータ ソースを構築する負荷が軽減されます。この機能を拡張する Polybase を使用すると、任意の ODBC ドライバーを使用して他のデータ ソースのホストにアクセスできるようになります。外部テーブルは機能も外観もテーブルに似ているので、これらのソースのデータをローカルの SQL Server テーブルと結合して、シームレスなエクスペリエンスを実現することが可能です。さらに外部テーブルには、使い慣れたセキュリティおよびオブジェクト管理手法を使用できるなど、ローカルの SQL Server テーブルと同じ機能もいくつかあります。

SQL Server 2019 は、ビッグ データ クラスターを利用した完全な分析プラットフォームを提供することで、Polybase の機能を拡張します。また、ビッグ データ クラスター展開に含まれる “データ プール” を使用すれば、そのクラスター、または IoT データなどのソースから直接取り込まれたデータ、あるいはそれ以外に対して、外部テーブルからのクエリによるキャッシュ結果のデータ マートを構築できます。

前述のとおり、ビッグ データ クラスターには Apache Spark が組み込まれているので、SparkML や SQL Server Machine Learning Services などのテクノロジを使用して、セキュリティで保護されたエンド ツー エンドの機械学習プラットフォームを実現できます。これにより、データ サイエンティストは、クラスター内外の外部テーブルのデータ ソースを使用して機械学習モデルのトレーニングや準備を行うことができる、完全なシステムを構築できるようになりました。それらのモデルはその後、Swagger アプリケーションに準拠した RESTful Web サービスを利用して、アプリケーションとして展開し利用することが可能です。

“臨床放射線学に対応した当社の業界別 AI ソリューションの構築と展開では、多様な実装パラダイム、データ形式、および規制要件を組み合わせています。SQL Server 2019 ビッグ データ クラスターを利用することで、共通プラットフォームのすべての要素を、独自のディープ ラーニングを使用する当社のデータ サイエンティストや、ワークフロー、セキュリティ、スケーラビリティを組み込む当社のソフトウェア エンジニアのために適応させ、統合することができました。実行時、ヘルスケア分野のお客様は、シンプルなコンテナー化された展開とメンテナンスによるメリットを実感されると共に、当社のソリューションをオンプレミスからクラウドに簡単に移動できるようになるでしょう。”
詳細については、Balzano 社の顧客事例をご覧ください。

Balzano社、創業者兼 CEO、René Balzano 氏

業界をリードするインテリジェント
パフォーマンス

SQL Server は、業界をリードするベンチマークによって実証された、屈指の能力を誇るクエリ エンジンを搭載しています。このたび、新たな TPC ベンチマークが発表され、引き続き SQL Server が業界で無類のパフォーマンスを発揮することが証明されました。

開発者やデータ担当者はより多くを求めています。それは、自社のクエリ ワークロードに対応し、パフォーマンスの調整にかかる時間を短縮することができるデータベース エンジンです。ユーザーは、アプリケーションに大きな変更を加えなくても、最新バージョンの SQL Server に移行してパフォーマンスを向上できることを期待しています。また、クエリ パフォーマンスを分析する必要がある場合には、いつでもどこでも深い洞察が得られることも重要です。

当社は最近、Intel Cascade Lake プロセッサを搭載した 8 ソケット (224 コア、12TB RAM、200TB 以上の SSD ストレージ) の Lenovo サーバー (ThinkSystem SR950) 上で実行されている Windows Server 2016 上の SQL Server 2019 インスタンスに対して、パフォーマンス テストを行いました。データを生成し、1 つのテーブルを読み込みました (LINEITEM、TPCH データベース スキーマ、145TB を超える生データ)。このテーブルには、54TB の圧縮データが含まれ、行数は 1 兆行を超えていました。テーブル全体をスキャンして、計算のためにほぼすべての行を選択する Q1 クエリ (TPCH の定義どおり) を、コールド (すべてのデータをストレージから読み取る) シナリオと、ウォーム (メモリ内のデータ) シナリオの両方で実行しました。無類のパフォーマンスを発揮した SQL Server 2019 は、1 兆を超える行を処理し、ウォーム キャッシュでは 2 分未満 (107 秒) で、すべてのデータをストレージから読み取る場合には 4 分未満 (238 秒) でクエリを完了しました。ウォーム キャッシュの場合、その処理速度は 60 億行/秒を超え、読み取りスループットはおよそ 50GB/秒の計算になります。GitHub では、両方のシナリオを紹介する Azure Data Studio ノートブックを公開しています。

SQL Server 2019 には、インテリジェントなクエリ処理と呼ばれる組み込みのクエリ処理機能が搭載されています。データベース互換性レベルを 150 (SQL Server 2019 の既定レベル) に更新することで、行ストアのバッチ モード、スカラー UDF のインライン化、テーブル変数の遅延コンパイルといった機能によって、SQL Server エンジンのクエリ プロセッサのパフォーマンスを向上させることができます。メモリ許可フィードバックによって、メモリに関するクエリ実行の問題を自動的に解決する機能も備えています。パフォーマンスを向上させるためにクエリやアプリケーションを変更する必要はありません。

また、SQL Server には、永続メモリとメモリ最適化 tempdb メタデータへのアクセスをサポートすることによって、アプリケーションの変更を必要としない、最適化されたインメモリ機能も搭載されています。これにより、tempdb の動作が速くなります。

SQL Server 2019 では、クエリ パフォーマンスに関する情報に即座にアクセスする必要がある場合を想定して、最後の実際のクエリ実行プランにアクセスできる機能など、クエリの軽量プロファイリングが既定で有効になっています。経時的により深い洞察を得たい場合には、クエリ ストアを有効にすると同時に、過去のクエリ プランのパフォーマンスに対する分析を有効にします。これには、SQL Server によって自動的にクエリ プランの回帰が修正されるようにするための機能も含まれます。

SQL Server 2019 のパフォーマンスに関する機能向上の詳細については、こちらをご覧ください。

ミッション クリティカルなセキュリティと可用性

最新のデータ プラットフォームは、データを保護するために脆弱性や機能の公開を防ぐソフトウェアによって機密性を確保したコンピューティングを提供するものでなければなりません。NIST (米国国立標準技術研究所 Comprehensive Vulnerability Database) によると、SQL Server 2019 は過去 9 年間にわたって業界で最も脆弱性の低いデータベース製品として評価されてきました。

さまざまなデータベースのミッション クリティカルなセキュリティと可用性の棒グラフ

行レベルのセキュリティや動的データ マスクなどのセキュリティ機能を基盤として構築された SQL Server 2019 には、セキュリティで保護されたエンクレーブをサポートする Always Encrypted 機能によって最新のアプリケーションに対するセキュリティ ニーズを満たす機能が用意されています。エンクレーブを使用することにより、サーバー上のエンクレーブのメモリ領域内でのみ、データを暗号化されていない状態で利用できるようにすることが可能です。これにより、暗号化されていないデータを制御しながら、優れたクエリのコンピューティングやインデックス作成を実現できます。また、SQL Server 2019 はデータを分類するための新しい T-SQL インターフェイスを搭載しているため 、GDPR などのコンプライアンス標準への準拠にも役立ちます。分類がエンジンに組み込まれたことで、SQL Server Audit を機密データにアクセスするユーザーの追跡に利用できるようになります。

いつでもデータが得られるようにすることは、どのデータ アプリケーションにとっても重要なことです。データ担当者は、長期にわたって実行される、または長期にわたってオープンなアクティブ トランザクションが原因で、トランザクション ログの拡大やアプリケーションの可用性への対処に長年苦戦してきました。しかし、SQL Server 2019 に高速化されたデータベース復旧機能が導入されたことで、アプリケーションを変更しなくても、これらの課題を解決できるようになりました。データベース オプションを利用すると、SQL Server が永続バージョン ストアを使って変更を追跡するので、ロールバックや “元に戻す” 復旧フェーズが、変更を監視する場合よりも短時間で実行できるようになります。トランザクション ログの切り捨てがアクティブなトランザクションに左右されることはなくなりました。高速化されたデータベース復旧は、Azure SQL Database のために実施された作業に基づいており (VLDB 2019 カンファレンスで最近発表されたトピックについて、こちらのホワイトペーパーをご覧ください)、Azure のHyperscale の素晴らしいパフォーマンスを支える主要テクノロジの 1 つです。

互換性によって選べるプラットフォームと
言語

SQL Server は、SQL Server 2017 で SQL Server を Linux に対応させたことで、業界を揺るがしました。SQLPAL の革新的テクノロジを取り入れた SQL Server on Linux は、アプリケーションとデータベースにおいて Windows との互換性を備えています。Windows でデータベースをバックアップして、それを Linux で復元することができ、アプリケーションの変更は必要ありません。SQL Server 2019 では、レプリケーション、分散トランザクション、Polybase、Machine Learning Services などの新機能を提供することによって、今後も Linux への取り組みを進めてまいります。

SQL Server が Linux に対応したことで、コミュニティでは既に SQL Server コンテナーを使用するメリット (ソフトウェアへのパッチ適用の簡素化や、一貫性の確保、継続的インテグレーション/継続的デプロイメント (CI/CD) パイプラインへの容易な統合など) が見られるようになっています。また、お客様は、実稼働環境でコンテナーを利用することにより、SQL Server を使用するメリットが得られるようになりました。SQL Server 2019 は、Red Hat Enterprise Linux イメージに基づくコンテナーを提供し、非ルートとして既定で実行することで、このニーズに対応しています。これにより、SQL Server コンテナーは、人気の高い Kubernetes プラットフォームの RedHat OpenShift で公式にサポートされることになりました。

開発者は、互換性のあるデータ プラットフォームによって任意の言語を使用できるようになりたいとも考えています。SQL Server では、C#、Java、node.js、PHP、Ruby、Go といった一般的な言語やプロバイダーを幅広くサポートしています。その上、SQL Server 2019 では、拡張フレームワークや、SQL Server Machine Learning Services で利用されているものと同じアーキテクチャを採用した SQL Server 言語拡張機能によって、T-SQL 言語を Java クラスにまで拡張することも可能です。

お客様の声

SQL Server に組み込まれた機能はすべて、カスタマー エクスペリエンスに根差したものです。お客様のご意見を伺うことが、実際の課題に対するソリューションを提供するための唯一の方法だと考えています。SQL Server 2019 では、主に以下の領域に関するお客様からのご意見に対応しています。

  • 文字列の切り詰めなどのエラーに対するコンテキストの向上
  • サポート性を保証する新しい診断法
  • クエリ ストアの機能拡張
  • エンジンのパフォーマンスの大幅な向上

SQL Server 2019 の機能向上の詳細については、こちらのドキュメントをご覧ください。

※本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。

< 前の記事

> 次の記事

ページの先頭へ戻る