sql >> データベース >  >> RDS >> Sqlserver

SQLServerを使用するためのAzure仮想マシン

    SQL Serverオンプレミスワークロードをクラウドに移動するための最初の簡単な手順の1つは、Azure VMを使用して、サービスとしてのインフラストラクチャ(IaaS)シナリオでSQLServerワークロードを実行することです。これにより、ハードウェア、ストレージ、およびネットワークインフラストラクチャを購入して保守する負担がなくなり、WindowsとSQLServer自体に非常に精通したエクスペリエンスが提供されます。

    オンプレミスのシナリオと同じように、オペレーティングシステム、SQL Server、およびデータベースを維持する必要があります。これと引き換えに、データベースとアプリケーションはオンプレミスインストールの場合とまったく同じように機能するため、Azureの使用を簡単に開始できます。

    それでも行う必要がある重要な選択の1つは、既存のSQLServerワークロードに使用するAzure仮想マシンのタイプとサイズです。オンプレミスのシナリオとは異なり、基盤となるホストマシンでの実際のプロセッサの選択を制御することははるかに少なくなります。 Azure VMでは、特定のマシンシリーズ(Esv3シリーズなど)と特定のAzureリージョンのサイズを選択し、MicrosoftがそのシリーズとそのAzureリージョンのサイズに使用しているプロセッサを取得します。

    AzureVMの種類とシリーズ

    Microsoftには現在、さまざまな種類のワークロード用に設計された8つの主要な種類の仮想マシンがあります。これらには、エントリーレベル、汎用、コンピューティング最適化、メモリ最適化、ストレージ最適化、GPU、ハイパフォーマンスコンピューティング、および機密の安全なエンクレーブが含まれます。

    高性能のOLTPSQLServerワークロードの場合、通常、メモリ最適化タイプのAzureVMが最適です。 Microsoftによると、「メモリに最適化されたVMサイズは、リレーショナルデータベースサーバーに最適な高いメモリ対CPU比を提供します。」これにより、コア数が減り、メモリが増えます。これは通常SQL Serverに必要なものであり、ライセンスコストを最小限に抑えながら、優れたパフォーマンスを維持します。

    制約付きvCPU対応VMサイズを使用すると、このパスをさらに進むことができます。この場合、VM vCPU数を(元のVMサイズの半分または4分の1に)制限して、同じメモリを維持しながらSQLServerライセンスのコストを削減できます。 、ストレージ、および制約のないVMとしてのI/O帯域幅。これらの制約されたAzureVMの名前には、VM内のアクティブなvCPUの数を示すサフィックスが付いています。

    例:通常のStandard_E64s_v3には64個のvCPUコアがありますが、制約付きのStandard_E64-16s_v3には16個のvCPUコアしかなく、それ以外は同じ仕様です。 -16sサフィックスは、アクティブなvCPUコアの数を示します。

    Esv3-シリーズ

    このシリーズでは、2.1 GHz Intel Xeon Platinum 8171M(Skylake-SP)プロセッサを使用します。これは、パブリックIntelARKデータベースにはない特別な特注プロセッサSKUです。 26C / 52T 2.1 GHz Intel Xeon Platinum 8170M(Skylake-SP)プロセッサと同じ仕様のようです。モデル番号のMサフィックスは、ソケットあたり768GBのRAMではなく、ソケットあたり1.5TBのRAMをサポートすることを意味します。 Esv3シリーズの定格は160〜190 Azure Compute Units(ACU)です。

    注:一部の地域では、MicrosoftはEsv3シリーズの古いIntel Xeon E5-2673 v4(Broadwell)特注プロセッサを使用しています。 MicrosoftのMineTokusには、古いBroadwellプロセッサを使用していたE64s_v3VMに対して一連の縮小されたTPC-Eベンチマークを実行したという優れた記事があります。

    Esv3シリーズは、2つのvCPUと16GBのRAMを備えたStandard_E2s_v3で始まり、64のvCPUと432GBのRAMを備えたStandard_E64is_v3で終わります。これらの両極端の間には、ストレージ容量とスループットにも大きな違いがあります。ところで、Standard_E64is_v3の名前の「i」は、インスタンスが単一の顧客専用のハードウェアに分離されていることを意味します。通常のEsv3シリーズのサイズのほとんどは、制約付きVMとしても利用できるため、サイズ設定に多くの柔軟性があります。

    図1と図2を綿密に比較すると、vCPU数、RAM量、およびキャッシュされていない最大ディスクスループットについて、図2の制約されたVMの選択肢を使用した場合の選択肢がはるかに有利であることがわかります。

    図1:通常のEsv3シリーズの仕様(クリックして拡大)

    特に、SQL ServerのStandard_E16-4s_v3、Standard_E32-8s_v3、Standard_E48-12s_v3、およびStandard_E64-16s_v3のサイズは、コア数が比較的少なく、メモリ容量が大きく、ディスクスループットが高いという非常に優れた組み合わせであるため、気に入っています。このシリーズの他の利用可能な選択肢。

    これらはすべて、通常のオファリングの利用可能なvCPUコアの4分の1のみを使用する制約のあるオファリングです。図2の他の選択肢はすべて、通常の製品で利用可能なvCPUコアの半分を使用し、メモリとディスクのスループット制限は同じです。これにより、RAMとディスクのスループットが低くなり、ライセンスコストが2倍になります。 。

    図2:制約付きEsv3シリーズの仕様(クリックして拡大)

    たとえば、図3に示す3つの可能なVMの選択肢を比較します。特定のvCPUカウントで制約された選択肢の中から賢明に選択することで、同じSQLServerライセンスコストでメモリとディスクのスループットを2倍から4倍にすることができます。

    >

    OSライセンスを含む計算コストは​​、制約されたサイズが導出された元のvCPUサイズと同じままであることに注意してください。

    図3:Esv3シリーズ8 vCPUの比較仕様(クリックして拡大)

    Esv4-シリーズ

    OLTPとDWの両方のワークロードに適したもう1つの選択肢は、Esv4シリーズです。これらのVMは、新しい7nm 2.35GHz AMD EPYC 7452(ローマ)プロセッサを使用します。このプロセッサは、32C / 64T、2.35GHzのベースクロック、最大3.35 GHzの最大ブーストクロック、128MBのL3キャッシュ、128のPCIe 4.0レーン、および2TBのRAM容量を備えています。このシリーズのAzureVMは、2つのvCPUと16GBのRAMを備えたStandard_E2as_v4で始まり、96のvCPUと672GBのRAMを備えたStandard_E96as_v4で終わります。 Esv4シリーズの定格は230〜260 Azure Compute Units(ACU)です。

    私の推定TPC-Eスコア計算によると、AMD EPYC 7452プロセッサは、Intel XeonPlatinum8171MプロセッサよりもシングルスレッドCPUのパフォーマンスが大幅に高速です。 AMD EPYC 7452の推定TPC-Eスコア/コアは67.64ですが、Intel XeonPlatinum8171Mの推定TPC-Eスコア/コアは49.55です。これは、AMDプロセッサのIPCとベースクロック速度が高いためだと思います。

    図4は、ほとんどのEsv4シリーズVMサイズに関連する仕様を示しています。私の知る限り、MicrosoftはまだEsv4シリーズVMの制約付きバージョンを提供していません。うまくいけば、彼らは将来それをするでしょう。

    図4:選択したEsv4シリーズの仕様(クリックして拡大)

    結論

    SQL ServerワークロードにAzure仮想マシンを使用する場合は、優先リージョンで使用可能なさまざまなAzureVMシリーズとサイズの評価に時間をかける必要があります。 Microsoftは、異なるVMシリーズで、場合によっては同じVMシリーズ内で異なる特注のプロセッサを使用しています。 VMシリーズで利用可能な選択肢とサイズ設定についてこの種の分析を行うことは、最初のタスクの1つである必要があります。可能であれば、Microsoftが提供する制約のある製品を利用してみてください。SQLServerに優れた価値を提供するからです。

    VMのシリーズとサイズを選択したら、CPU-Z、Geekbench 5、CrystalDiskMark 7などのCPUとストレージのベンチマークを初期の健全性チェックとして実行します(SQL Serverをインストールする前でも)。これにより、Azure VMを相互に比較したり、従来のオンプレミスのハードウェアやストレージと比較したりできます。 Tim Radneyが、このプロセス(ストレージ用)に関するすばらしい記事を掲載しています。


    1. リバースエンジニアリング(オラクル)スキーマからERDへ

    2. MVC4:UserIsInRole-SQLServerデータベースに接続できません

    3. WHERE句の列名エイリアスを参照してください

    4. AndroidSQliteがデータを更新しない