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

最新バージョンのSQLServerにアップグレードするための完璧なストーム

    ソフトウェア、ハードウェア、およびストレージテクノロジの現在進行中および今後の開発の数は、SQLServerのレガシーバージョンからSQLServerの最新バージョンに移行するための理想的な時期になるように次の12〜18か月を形作っています。

    個人的には、SQLServer2016より前のバージョンのSQLServerはすべてSQLServerのレガシーバージョンであると考えています。 SQL Server 2014は、2019年7月9日にメインストリームサポートから外れます(SQLServer2008およびSQLServer2008 R2が拡張サポートから外れるのと同じ日付です)。 SQL Server 2012は、2017年7月11日に主流のサポートから外れました。

    SQLServerの開発

    SQL Serverの最新バージョンは、SQL Server 2016、SQL Server 2017、および今後のSQLServervNextです。以前、SQLServer2017がSQLServer2016よりも明らかに優れたアップグレードの選択肢である理由について書きました。 SQL Server vNextがリリースされると(おそらく2018年第4四半期に)、SQL Server 2017への優れたアップグレードの選択肢となる、多くの便利な新機能と拡張機能が含まれる可能性があります。新機能に関係なく、SQLServerの次のバージョンはSQLServer2016またはSQLServer2017よりも長期間メインストリームサポートを利用できます。

    オペレーティングシステムの開発

    マイクロソフトは、2018年後半にWindows Server 2019をリリースする予定です。マイクロソフトは最近、2018年6月26日にオンラインのWindows Serverサミットを開催し、このリリースに関する多くの有用な情報を提供しました。 Storage Spaces Direct(S2D)には、ReFSでの重複排除や圧縮など、多くの改善点があります。もう1つの改善点は、ルーターのファイル共有としてUSBサムドライブを使用する2ノードS2Dクラスターの真の2ノードクォーラムです。

    Windows Server 2019 S2Dでは、S2Dクラスターごとに最大4PBのrawストレージ容量を使用できます。これはWindows Server 2016の4倍の改善です。Get-PhysicalDiskIoReportと呼ばれる新しいPoSHコマンドレットがあり、個々のパフォーマンス情報をより詳細に表示できます。物理ディスク。ドライブの待ち時間を手動で監視でき、ドライブの待ち時間の異常値を自動的に検出するために使用できます。

    Windows Server 2019は、Intel Optane 3D XPointメモリおよびストレージに加えて、既存のNV-DIMM永続メモリを完全にサポートします。ハイパーコンバージドインフラストラクチャ(HCI)の展開に最適なダッシュボードである無料のWindowsAdminCenter管理ユーティリティも改善されています。

    VMware vSphere 6.7は、vSphere Persistent Memoryをサポートしています。これにより、VMware仮想化環境で永続メモリを利用できます。

    ハードウェアの開発

    IntelとAMDはどちらも、今後3〜6か月の間に新世代のサーバープロセッサをリリースする予定であり、どちらも既存のモデルサーバーで動作します。これにより、新しいサーバーモデルが必要な場合よりも、実際にすばやく利用できるようになります。

    Intelの場合、2018年の第4四半期に予定されていると噂されている14nm IntelXeonスケーラブルプロセッサ「CascadeLake-SP」になります。これらのプロセッサは「ApachePass」DIMM(Intel Optane 3D XPoint永続メモリを意味します)をサポートします。現在のIntelXeonスケーラブルプロセッサ「Skylake-SP」プロセッサと互換性のあるソケット。つまり、既存のサーバーモデルで動作します。多くのお客様にとってより重要なのは、Cascade Lake-SPがほとんどのサイドチャネル攻撃(Spectre / Meltdownなど)に対してハードウェアレベルの保護を備えていることです。これにより、ソフトウェアベースの緩和手法よりもパフォーマンスへの影響が少なくなります。

    Cascade Lake-SPプロセッサに続いて、2019年には14nmの「CooperLake-SP」、2020年には10nmの「IceLake-SP」サーバープロセッサが続きます。Intelの10nm製造との継続的な闘争は、 2019/2020年のAMD。この期間中に、AMDはサーバースペースでIntelから大きな市場シェアを獲得することを期待しています。

    AMDは、2019年の初めから中頃に2世代の7nm「Zen2」EPYC「Rome」ファミリプロセッサを搭載する予定です。これらのプロセッサは、既存のサーバーモデルとソケット互換であり、プロセッサあたり最大48コア/96スレッドです。これらのプロセッサは、PCIe 4.0をサポートしているとの噂もあり、PCIe3.0と比較してレーンあたりの帯域幅が2倍になります。

    さらに先を見据えて、AMDは2020年中に3世代の7nm+「Zen3」EPYC「Milan」プロセッサフ​​ァミリをリリースすることを計画しています。

    ストレージの開発

    Intelは、最初の3DXPointストレージ製品である375GBIntel Optane DC P4800X SSDを2017年第1四半期にリリースしました。これらは、NVMeプロトコルとともにPCIe 3.0 x4リンクを使用し、低キュー深度で約10分の1のレイテンシーと5〜8倍のスループットを実現します。最速のPCIeNVMeNANDベースのSSDと比較。また、エンタープライズNANDベースのSSDよりも2〜4倍優れた書き込み耐久性を備えています。

    tempdbのワークロードが非常に重いSQLServerインスタンスにこれらのDCP4800Xドライブを使用することで大きな成功を収めました。それらは比較的安価であり、現在利用可能な最速のタイプの従来のブロックモードストレージを提供します。これらはSQLServerに対して透過的であり、HHHLアドインカードまたはU.2接続ドライブとしてPCIe3.0x4スロットをサポートするすべてのシステムで機能します。

    非常に近い将来に登場するのは、従来の低遅延DDR4メモリインターフェイスとフォームファクタを使用するIntel 3D XPointベースのDIMM(「ApachePass」)です。これらのDIMMは、128 GB、256 GB、および512 GBの容量で利用可能であり、DDR4メモリスロットに収まります。これらは、ストレージスタック全体を使用する低パフォーマンスのブロックモード、またはバイトアドレス可能でストレージスタックをバイパスするはるかに高パフォーマンスのダイレクトアクセス(DAX)モードでアドレス指定できます。

    Windows10とWindowsServer2016はどちらもすでにDAXをサポートしており、SQL Server 2016 SP1には永続ログバッファー機能があり、永続メモリ上に構築されたDAXストレージボリュームを活用して、次の目的で使用される小さな追加の20MBトランザクションログファイルを作成できます。トランザクションログへの書き込みの待ち時間を大幅に短縮します。 SQLServervNextによってこの特定の機能が改善されると思います。

    Windows Server 2019では、永続メモリのサポートがさらに強化されます。 Intel Xeon「CascadeLake-SP」プロセッサを搭載した新しい2ソケットサーバーは、最大6TBの3DXPoint DIMMをサポートし、他のメモリスロットの従来のDDR4メモリと組み合わせることができます。

    結論

    今後数か月の間に、SQL Serverの新しいリリース、Windows Server 2019のリリース、Intel(および新たに競争力のあるAMD)の両方からの新世代のサーバープロセッサ、および新しい高性能レイヤーが登場するでしょう。メモリとストレージの階層で。

    このイベントの収束により、古い、保証対象外のハードウェアと低速ストレージでレガシーオペレーティングシステムで実行されているレガシーバージョンのSQL Serverから、はるかに優れた柔軟なデータプラットフォームに移行するためのビジネスおよび技術的なケースを簡単に構築できます。これにより、これらの新しい開発をすべて活用して、パフォーマンスとスケーラビリティを向上させることができます。


    1. 最適化のしきい値–データのグループ化と集約、パート3

    2. codeigniterのアクティブレコードパターンを使用したUNIONクエリ

    3. phpを使用したMysqlイベントエラー

    4. ストアド関数またはプロシージャを呼び出しても、変更は挿入および永続化されません