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

SQL Server 2017(データベースエンジン)の新機能

    以下は、SQLServer2017データベースエンジンに追加された新機能のリストです。

    LinuxとMacのサポート

    SQL Serverが1989年に導入されて以来初めて、SQL ServerはLinux(Red Hat、SUSE、Ubuntu)およびDockerで利用できます。つまり、SQL Server 2017をMacにインストールすることもできます(DockerコンテナでLinuxイメージを使用することにより)。

    Linux用のSQLServer2017の初期リリースには、Windowsリリースで利用可能なすべての機能が含まれていませんが、良いスタートです。 Microsoftは、将来のリリースでより多くの機能を含めるよう取り組んでいると述べています。

    今のところ、Linux用のSQL Server 2017で利用できる主な機能のリストは次のとおりです(初期リリースの時点)。

    アダプティブクエリ処理

    アダプティブクエリ処理は、クエリを変更することなく、クエリのパフォーマンスを向上させます。 SQL Serverは、クエリに対してより適切な実行プランを選択し、実行プランをリアルタイムで変更することで、これを実行できます。これにより、クエリの実行が速くなります。

    • より高速なクエリ
    • インターリーブ実行
    • バッチモードのメモリ付与フィードバック
    • バッチモードのアダプティブ結合

    グラフデータ機能

    SQL Server 2017では、グラフデータ機能が導入されています。これは、Neo4j、Blazegraph、またはさまざまなグラフやマルチモデルデータベースなどの特殊なグラフデータベースを使用する必要がなくなったことを意味します。ノードとエッジを使用してデータをグラフ形式でSQLServer自体に直接保存できるようになり、ノード/エッジクエリ構文を使用してデータをクエリできるようになりました。

    • ノードとエッジを使用して関係を保存する
    • ノード/エッジクエリ構文を使用して相互接続されたデータを分析する

    再開可能なオンラインインデックスの再構築

    これにより、進行中のインデックスの再構築を一時停止および再開できます。これは、インデックスの再構築を完全に停止して最初からやり直すことなく、一時停止/再開できることを意味します。これにより、インデックスの再構築がアプリケーションのパフォーマンスに与える影響を制御し、必要に応じて一時停止/再開することができます。

    可用性グループを使用したクラスターレス読み取りスケール

    クラスターをデプロイする必要なしに、複数の読み取り専用レプリカを使用して読み取りスケールのAlways On可用性グループをデプロイします(Windows ServerクラスターやPacemakerなど)。これは、高可用性ではなく主にスケールアウトに関心がある場合に役立ちます。

    ネイティブにコンパイルされたT-SQLモジュールのパフォーマンスの向上

    SQL Server 2017は、次のように、ネイティブにコンパイルされたT-SQLモジュールのパフォーマンスを強化しました。

    • OPENJSON
    • FOR JSON
    • JSON
    • CROSS APPLY 操作
    • 計算列

    これは、それらがより速く実行されることを意味します(何も変更する必要はありません)。

    新しい文字列関数

    SQL Server 2017では、いくつかの新しい文字列関数が導入され、既存の文字列関数が拡張されています。

    • TRIM
    • CONCAT_WS
    • TRANSLATE
    • WITHIN GROUP STRING_AGGで句がサポートされるようになりました 機能。
    • BULK IMPORT CSVをサポートするようになりました フォーマットとファイルソースとしてのAzureBlobStorage

    MicrosoftWebサイトの詳細

    SQL Server 2017の新機能の詳細については、MicrosoftのWebサイトの「SQLServer 2017の新機能」および「データベースエンジンの新機能– SQLServer2017」を参照してください。


    1. JUnitテストフレームワークを使用したJavaユニットテストの調査

    2. レコードがまだ存在しない場合、レコードを挿入するためのベストプラクティスは何ですか?

    3. UID –Oracleの現在のセッションのIDを返します

    4. データベースの増分変更の検出(OracleからMongoDB ETLへ)