
30年経った今でも、SQL Serverはデータベースの主力製品として、社内基幹業務アプリケーションからStack Overflowのような大規模なパブリックウェブサイトまで、あらゆる場面で活躍しています。一部のデータベースワークロードはクラウドに移行しており、次期バージョンのSQL Serverでは、バックアップや分析のためのツールが充実し、Azureサービスとの統合も強化されています。ビジネスニーズに応じて、クラウドへの移行もサポートします。また、幅広いデータベースシナリオをサポートする新機能も多数搭載されています。
「データベースプラットフォームであるSQL Serverは、エッジからクラウドまで、お客様に最大限の柔軟性を提供します」と、Microsoft Azureのプログラムマネジメントディレクターであるアサド・カーンは述べています。「お客様は、ワークロードとアプリケーションの要件に応じて、SQL Serverを任意の環境に導入できます。」
「当社のお客様は、IoT タイプのシナリオをサポートする小さなフットプリントのエッジ デバイスから、ミッション クリティカルなアプリケーションを実行する巨大なサーバー、さらにはパブリック クラウドのハイブリッド フットプリントまで、SQL Server を実行しています。」
したがって、SQL Server 2022 では、分散型可用性グループを使用して実質的にダウンタイムなしでワークロードを Azure SQL Managed Instance に移行できるだけでなく、ユーザーはデータベースを独自のインフラストラクチャ上の SQL Server に復元することもできます。
サーバーのハードウェア アップグレードを実行する場合、または物理的にどこかに移動する場合は、ワークロードを一時的に Azure に移動し、準備ができたら元に戻すことができます。
参照:2022 年のベスト クラウド認定資格:Azure から Google まで(TechRepublic)
移行せずにクラウドを使用する
SQL Server では、バックアップ、ビジネス継続性、分析、ポリシー、データ ガバナンスのために Azure サービスを使用できます。
「SQL Server 2022はAzure Synapse LinkおよびMicrosoft Purviewと統合されており、お客様は大規模なデータからより深い洞察、予測、ガバナンスを引き出すことができます」とカーンは述べています。「Azure SQL Managed Instanceへのマネージドディザスターリカバリー(DR)とほぼリアルタイムの分析によってクラウド統合が強化され、データベース管理者はより柔軟にデータ資産を管理し、エンドユーザーへの影響を最小限に抑えることができます。」
SQL Managed Instance は、可用性グループを設定することなく、フェールオーバーおよびフェールバックが可能なセカンダリレプリカとして機能します。ハイブリッド機能では、Azure を使用して SQL Server 2022 システムの実行方法を微調整することもできます。
「実際のデータベース操作にさらに多くのインテリジェンスが組み込まれることで、ワークロードは手動での調整や監視なしに、より良く、より速く、よりスマートに実行する方法を自動的に学習します」とカーン氏は述べた。
この統合は、逆方向のハイブリッドクラウドシナリオにも役立ちます。Microsoft Defender for Cloud は、SQL Server のセットアップ時にインストールできる Azure 向け SQL Server 拡張機能を通じてオンプレミスの SQL データベースを保護できます。ユーザーは、多要素認証 (MFA) を含む Azure AD 認証を使用してオンプレミスの SQL Server 2022 にアクセスできるようになります。
また、Azure では、組織独自のインフラストラクチャ上で Azure サービスを実行することも含まれます。
「Azure Arc 対応の SQL Server を使用すると、顧客のワークロードは Azure に接続して、顧客に常時データベース アクセス、最新ソフトウェア更新、展開からの実用的なインテリジェンスを提供します」とカーン氏は述べています。
Azureだけではありません。新しいオブジェクトストレージ統合により、ユーザーはS3互換ストレージと連携してバックアップと復元を行うことができます。これには、Dell、HPE、Nutanix、Pure Storage、Red Hat、Scality、そしてAWSのストレージファブリックが含まれます。Khan氏によると、このオブジェクトストレージはビッグデータにも活用できるとのことです。
「データ レイク仮想化は、PolyBase を S3 互換のオブジェクト ストレージと統合し、T-SQL による parquet ファイルのクエリのサポートを追加します」と Khan 氏は述べています。
しかし、Azure をビッグ データに使用している場合、ユーザーは ETL (抽出、変換、読み込み) を実質的に廃止し、SQL Server の運用データを分析に使用できます。
参照: Microsoft Power Platform: 知っておくべきこと (無料 PDF) (TechRepublic)
「Azure Synapse Link for SQL Server 2022 は、運用システムへの影響を最小限に抑えながら、ほぼリアルタイムの分析とハイブリッドなトランザクションおよび分析処理を提供します」とカーンは述べています。「SQL Server 2022 の運用ストアと Azure Synapse Analytics 専用 SQL プールがシームレスに統合された Azure Synapse Link for SQL により、お客様は新しい変更フィード技術を活用して、ソースデータベースへの影響を最小限に抑えながら、運用データに対して分析、ビジネスインテリジェンス、機械学習のシナリオを実行できます。」
これは、Microsoft が Cosmos DB ですでに採用しているアプローチと同じであり、クラウド向けに設計されたデータベース サービスで初めて採用された機能を備えた、非常に従来型の SQL データベースです。
ブロックチェーンのない台帳
ブロックチェーンの主張を見て、高スループットのクエリ (またはブロックチェーン マイニングの環境への影響) に拡張できない可能性のある分散システムの設計と保守の作業なしに、追加専用のデータベースでそれが実現できると考えたことがあるなら、Azure SQL で始まり、現在 SQL Server 2022 に導入されている別の機能がまさに必要なものです。
「Ledgerは、ブロックチェーン構造内のデータとその変更を暗号的にリンクし、データの改ざん防止と検証を可能にすることで、ブロックチェーンの利点をリレーショナルデータベースにもたらします。これにより、サプライチェーンシステムなどの複数当事者のビジネスプロセスの実装が容易になり、コンプライアンス監査も効率化されます」とカーン氏は説明した。
例えば、アイスクリームメーカーのアイスクリームの品質は、サプライヤーから送られる原材料と、完成したアイスクリームが適切な温度で輸送されるかどうかにかかっています。冷蔵トラックに不具合があれば、アイスクリームが固まったり、アイスクリームが溶けて店舗の冷凍庫で再凍結したりする可能性があります。
アイスクリームメーカーは、サプライチェーンに関わる全ての関係者からセンサー情報を収集することで、問題箇所を突き止めることができます。しかし、温度測定値が正確であり、責任転嫁のために改ざんされていないことを、全ての関係者が信頼できる必要があります。
「Ledger により、参加者は中央に保管されたデータの整合性を検証できるようになります」とカーン氏は述べた。
台帳テーブルを作成する際、トランザクションによって変更された行は、トランザクション自体と共に暗号的にハッシュ化されます。これは他のブロックチェーンで使用されているのと同じマークルツリーデータ構造に保存され、ユーザーはデータベースの状態を表すダイジェストを定期的に改ざん防止ストレージに書き込むことができます。これにより、ライブデータベースが攻撃者や悪意のある管理者によって改ざんされていないことを後から確認できます。
SQL Azureの場合、これはAzure Confidential Computingのセキュアエンクレーブを使用するAzure Confidential LedgerのAzure Blobストレージです。これらのツールは、SQL Server 2022または組織独自のWORM(Write Once Read Many)ストレージで使用できます。
しかし、多くのブロックチェーン システムとは異なり、Ledger は環境的に持続可能です。
「ブロックチェーン技術で一般的に用いられるプルーフ・オブ・ワーク(PoW)のような、高価なコンセンサスプロトコルに依存しません」とカーン氏は述べた。「PoWの仕組みでは、複雑な数学的問題を解くために複数のサーバーが競合する必要があり、大量のエネルギーを消費します。」
参照: Azure Database for PostgreSQL フレキシブル サーバーとは何ですか? (TechRepublic)
Ledgerを実行するために、セキュアエンクレーブ対応のCPUなど、特別なサーバーハードウェアは必要ありません。ユーザーは、行の更新と削除が必要か、それとも新しい行の挿入のみが必要かに応じて、更新可能な台帳テーブルと追加専用の台帳テーブルの両方を作成できます。いずれの場合も、ユーザーは監査人に提示できる改ざん防止の記録を取得できます。
「従来の台帳と同様に、この機能は履歴データを保存します」とカーン氏は述べています。「データベース内の行が更新されると、SQLクエリをサポートするために以前の値がリレーショナル形式で維持され、履歴テーブルで保護されます。」
「Ledger は、SQL データベースのパワー、柔軟性、パフォーマンスを維持しながら、時間の経過とともにデータベースに加えられたすべての変更の記録を提供します。」
クエリパフォーマンスの向上
SQL Server 2022 には、カーン氏が「最小限の実装労力」と呼ぶ、既存のワークロードとデータベース アプリケーションを高速化するインテリジェント クエリ処理機能がさらに追加されました。
「クエリ ストアを有効にし、最新のアプリケーション データベース互換性レベルで実行するか、データベース レベルの構成をオンにするだけで、アプリケーションはコードを変更せずにこれらの機能のメリットを自動的に享受できます」と Khan 氏は述べています。
新しい機能は、データベース管理者にとって複雑であったり扱いが面倒であったりする設定を微調整し、既存の自動パフォーマンス強化の一部を改善しますが、これが逆効果になることもあります。
クエリの並列度を取得するのは難しい場合があるため、DOP (並列度) フィードバックでは、フィードバック ループを使用して、CPU コアを増やすと実際にクエリが高速化されるのか、それともコアがより有効な他のデータベース タスクからリソースが奪われるだけなのかを確認します。
「DOPフィードバックは、繰り返しクエリの並列度を自動的に調整し、非効率的な並列処理によってパフォーマンスの問題が発生する可能性のあるワークロードを最適化します」とカーンは説明した。「メモリグラントフィードバックは、過去のパフォーマンスに基づいて、クエリに割り当てられるメモリのサイズを調整します。」
SQL Server 2022 では、パーセンタイルを使用することで、ユーザーが実行するたびにメモリ量が大きく変化するクエリのフィードバック アルゴリズムを改善し、ユーザーがキャッシュを削除したりサーバーを再起動したりした場合でもメモリ許可のフィードバックを保持することができます。
SQL Server クエリオプティマイザーは、処理される行数(クエリのカーディナリティ)に基づいてクエリプランの実行コストを見積もります。SQL Server がカーディナリティを正確に推定することが難しいクエリもあり、その場合、コストが誤って算出されることがあります。
参照: Microsoft Excel の Power Query を使用して列の値を 1 つのセルに結合する方法 (TechRepublic)
「カーディナリティ推定フィードバックは、繰り返しクエリの問題が誤った推定モデルの仮定によって引き起こされている場合、最適ではないクエリ実行プランを識別して修正します」とカーンは説明しています。
ユーザーが参照するデータは非常に多様であるため、クエリによっては速度が大幅に変化することがあります。サプライヤーの在庫数を確認する場合、数百や数千の在庫ではなく、数行しか在庫がない方が当然ながら処理速度は大幅に向上します。パラメータ依存のプラン最適化は、このような不均一なデータ分布を検出し、パラメータが大きく異なるため、在庫クエリの実行方法に関する複数のプランをSQL Serverに保存するよう指示します。
組織が Advanced Vector Extension (AVX) 512 拡張機能を備えたサーバー CPU を保有している場合、バッチ モード操作は高速になります。
「これにより、複数のCPUコアを活用することで、大容量メモリを搭載したマシンでのバッファプールスキャン操作のパフォーマンスが向上します」とカーン氏は述べた。
クエリストアにも具体的な改善がいくつか施されており、例えばセカンダリレプリカでクエリストアを使用することで、そこで実行されているワークロードに関する洞察を得ることができます。また、データベース開発者がAzure SQL DBやマネージドSQLインスタンスで既に活用しているクエリストアのヒントも利用でき、クエリを書き換えることなく高速化できます。
マイクロソフトは、Azure版サーバー製品に関して、新機能はまずクラウド向けに開発されるという約束を常に守ってきました。しかし、組織独自のハードウェアで実行しても有用な機能については、次期サーバーソフトウェアリリースで提供される予定です。
SQL Server 2022 を入手するにはどうすればよいですか?
MicrosoftはSQL Server 2022の出荷予定時期を発表していませんが、新しいリリースは今年10月末に開催されるMicrosoft Igniteの時期にリリースされるのが一般的です。SQL Server 2022のCommunity Technology Preview 2.1リリースは、Enterpriseエディションの全機能を備えた180日間試用版の評価版として現在利用可能です。また、ユーザーはマーケットプレイスからAzure VMでDeveloper Editionを180日間試用版として実行することもできます。
TechRepublic Academy のこれらのコースで SQL の知識を向上させましょう。