SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Ignite 2020 で発表された SQL Server / SQL Database 関連の更新情報

leave a comment

Ignite 2020 に合わせて SQL Server / SQL Database 関連の情報がアップデートされていますのでまとめて。

公式の情報は Microsoft Ignite 2020 Book of News から確認でき、日本語版 も公開されています。

 

データ関連の全体的なアナウンスについては、次の記事とセッションを見ると良いかと思います。

  • What’s new in Azure SQL Managed Instance at Ignite 2020
  • Azure SQL: What to use when and updates from the Product Group
  • Azure Synapse Analytics: Powering data exploration and data warehousing with new features
  • Making sense of Azure and Azure Arc deployment options for SQL Server
  • Microsoft Ignite Announcements 2020
  •  

    Making sense of Azure and Azure Arc deployment options for SQL Server で公開されていますが、Azure 上で動作する SQL Server ベースの環境もだいぶ増えましたね。

     

    Contents

    Azure Shared Disk


    共有ディスクの対応リージョンの増加

    Shared Disk の対応リージョンが増え、Shared Premium SSD の Regional availability については、Managed Disk が利用可能な全リージョンとなっています。

    Shared premium SSDs are available in all regions that managed disks are available.

     

    以前は、FCI を作成するためのドキュメントである、Create an FCI with Azure shared disks (SQL Server on Azure VMs) に次の記載がありました。

    Two or more West Central US-prepared Windows Azure virtual machines

     

    最新のドキュメントではこの記載が次のように変わっています。

    Two or more Windows Azure virtual machines

    米国中西部というリージョンの縛りがなくなってますので、FCI の SQL Server を作成しやすくなったのではないでしょうか。

     

    Azure Backup


    Azure Backup について、まとまった更新のアナウンスが公開されています。

     

    クロスリージョンのバックアップ

    Azure Backup でクロスリージョンのリストアをサポートしており、ペアリージョンに対して Azure Backup をリストアできるようになりました。

    このクロスリージョンのリストア機能が、SQL Server / SAP HANA のワークロードでもサポートされるようになったようです。

     

    SQL Database


    Ignite のセッションでは、SQL DB については、Azure SQL: What to use when and updates from the Product Group で更新部分についてのアナウンスが行われています。

    imageimageimageimage

     

    ゾーン冗長

    ゾーン冗長のサポートリージョンが追加されました。

    • Canada Central
    • West US 2
    • North Europe

     

    ゾーン場長については、汎用目的でゾーン冗長をサポート (プレビュー) の計画もあるようです。

    Zone redundant configuration for Azure SQL DB general purpose tier in preview

    Ignite 開始時には上記のページがあったのですが、404 になってしまっていたので、こちらについては情報待ちですね。
    情報が出ると Zone redundant configuration の記載が更新されるのではないでしょうか。

    アナウンスの PDF にはこの情報も記載されています。

    image

     

     

    Azure AD 認証関連

    新しい機能というよりは今までのアナウンスの再掲ですかね。

    機能としては 3 種類になるようです。

     

    バックアップストレージの冗長構成の変更 (Coming soon)

    MI ではすでに実装されているバックアップの冗長構成の変更が SQL DB にも導入されるようです。

    バックアップストレージの冗長化構成に、LRS / ZRS が選択できるようになり、バックアップコストの調整に活用できます。

     

    SQL Database Hyperscale


    データベースコピー (プレビュー)

    Hyperscale に Database Copy の機能がプレビューで追加され、トランザクションに一貫性を持たせた状態のデータベースコピーを標準機能で作成することができます。

    Hyperscale のバックアップは、スナップショットの機能が活用されているますので、コピーにもこれが使われている形ですかね。

    同一リージョンにコピーデータベースを作成する場合、スナップショットを使用することで、短時間でデータベースを作成することができますが、異なるリージョンに対してコピーを作成する場合には、時間がかかります。

    image

     

    予約容量のサポート

    Hyperscale で予約容量による利用がサポートされました。
    1 年 / 3 年の利用が予定されている場合は、予約容量で利用することで割引を受けることができます。

    割引については 料金 から確認することができます。

     

    Managed Instance


    Managed Instance については、What’s new in Azure SQL Managed Instance at Ignite 2020 として、更新内容がまとめられた記事が公開されました。

     

    管理操作の処理状況の確認

    Managed Instance のデプロイの状況等の管理操作の進行状況が把握できるようになりました。
    今もデプロイに数時間かかりますので、進捗がわかるようになったのはうれしいですね。

    デプロイ時にはポータルからどのステップを実行しているのかを確認できるようになりました。
    デプロイ時の Step については 3 ステップでの表示ですので、かなり粗い粒度ではありますが。

    image

    今まで気づいていなかったのですが、Azure SQL Managed Instance の管理操作の概要 というドキュメントで、MI の各種操作にかかる時間が公開されていました。

     

    バックアップストレージの冗長構成の変更 (プレビュー)

    バックアップストレージの冗長化の設定を変更することで、コストを調整できるようになった機能の再アナウンス

     

    グローバル VNET ピアリングのサポート

    空のサブネットで作成された MI で、グローバル VNET ピアリングがサポートされるようになりました。

    MI の フェイルオーバーグループ は異なるリージョンに作成する必要があり、グローバル VNET ピアリングサポートされていなかった時には、VNET 間を VPN 接続する必要があったのですが、この制約が緩和されるようです。

    ドキュメントにはまだ反映が行われていないようなのですが、状況については次のドキュメントを確認すると良いかと思います。

     

    MI を作成する際に設定する仮想ネットワークのサブネットを、空のサブネットを使用して、フェールオーバーグループを設定したところ、仮想ネットワークゲートウェイを使用せずに、通常のグローバル VNET ピアリングで異なるリージョンの VNET を接続することで、フェールオーバーグループの設定を行うことができました。

    image

    テストで仮想マシンを立ててみたところ、東日本の VM が、東アジアの MI にグローバル VNET ピアリングで接続ができていましたので、うまく使えれば、アプリケーションの接続の経路としても活用できそうですね。
    (フェールオーバーグループの設定有無にかかわらずグローバル VNET ピアリングは使用できそうです)

     

    SSRS カタログのサポート

    SSRS のカタログデータベースを MI でホストできるようになりました。
    SSIS / SSRS のデータベースを格納するために、MI が使用できるようになります。

    Azure SQL Managed Instance support が SQL Server 2019 の新機能となっていますので、サポートされる SSRS のバージョンについては注意しておいた方がよいかと。

     

    パフォーマンス向上

    MI のパフォーマンスが向上します。これについては既存の環境も対象となるようです。
    パフォーマンス強化のポイントとしては次の内容となるようです。

     

    • 汎用目的

      • トランザクションログの書き込みスループットの向上

        • 旧 : 3MB/s per vCore , Max 22MB/s per instance

        • 新 : 3MB/s per vCore , Max 120MB/s per instance

          • 22-65MB/sec per database

            • ログファイルサイズに応じて書き込み性能が変更

        • パフォーマンスの予測可能性 / 安定性の向
        • スループットを最大化にし、レイテンシーを削減するために、最適化を実施
      • tempdb のパフォーマンス強化

        • 以前は、tempdb はログレートの上限の一部として管理されており、汎用 22MB/s, BC 48MB/s の制限を受けていた

        • 今回の改善で、tempdb の I/O 操作はログレートの上限の一部としては管理されなくなったため、パフォーマンスが向上

    • ビジネスクリティカル

      • トランザクションログの書き込みスループットの向上

        • 旧 : 4MB/s per vCore, Max 48MB/s per instance

        • 新 : 4MB/s per vCore, Max 96MB/s per instance

      • データ / ログ IOPS の向上

        • 旧 : 2,500 IOPS per vCore

        • 新 : 4,000 IOPS per vCore

    Overview of Azure SQL Managed Instance resource limits についても最新の情報で更新されています。

     

    Machine Learning Service

    MI で ML サービス (R / Python) がプレビューでサポートされました。
    使用できるリージョンは限定的なようですので、検証する場合はデプロイ先の注意が必要そうですね。

    MI では PREDICT (Transact-SQL) を使用することもできます。

    こちらでは SQL Edge と同様に ONNX のモデルを使用することができますので、機械学習の仕組みが MI でもいろいろと活用できるようになりました。
    (SQL Server 2019 では、現状 ONNX のモデルはサポートされていません)

     

    MI 間の分散トランザクションのサポート (プレビュー)

    Preview が近日開始となっていますが、複数の MI をまたがる分散トランザクションがサポートされるようになるようです。

    これにより、BEGIN DISTRIBUTED TRANSACTION や、Transaction Scope を使用して、複数の MI に対して、分散トランザクションが実行できるようになります。

     

    Azure SQL Edge


    一般提供開始

    SQL Edge が GA しました。

    利用可能な機能の詳細については、Azure SQL Edge でサポートされる機能 から確認することができます。

    SQL Edge で利用可能なリソースについては、Azure SQL Edge のエディション に記載されています。

    image

    SQL Edge の価格は、Azure SQL Edge の価格 に記載されており、月額 1,000 円程度で SQL Server を利用することができます。

    image

    SQL Edge は Docker コンテナーとして稼働する SQL Server のデータベースエンジンですが、ARM64 上でも動作しますので、IoT デバイスに展開することも可能です。

     

    ドキュメントの更新

    What is Azure SQL Edge? をはじめとした、各種ドキュメントもGA 版に更新されており、Kubernetes 上に展開をした構成なども新しくドキュメントが公開されています。

    他にも追加されたドキュメントがいくつかありますので、一度情報を見直してみてもよさそうですね。

    Deploy Azure SQL Edge with Docker / Deploy an Azure SQL Edge container in Kubernetes は、新しい展開オプションとして直近で情報が公開されたものになるかと思います。

    Docker でイメージを直接 Pull して使用することができるようになっているのは興味深いですね。

    次のドキュメントは直近で公開されたものかと思います。

     

    Synapse Analytics


    Synapse については、Azure Synapse Analytics: Powering data exploration and data warehousing with new features として更新内容がまとめられた記事が公開されました。

    Synapse については、専用モデル (SQL Pool) とサーバーレス (SQL Ondemand) のどちらで使用できる機能なのかの注釈がありますので、SQL プール / SQL オンデマンドのどちらに機能が追加されているのかも意識しておく必要がありそうですね。

     

    名称の変更

    As we dive into each new feature, we will use the terminology below to identify where the feature is applicable. For the SQL capabilities in Azure Synapse Analytics, the main resource used is called a SQL pool. This resource has two consumption models: serverless and dedicated. The serverless model provides transparent compute consumption and is billed per data processed. The dedicated model allows use of dedicated compute, comes with capacity model and is billed per DWU-consumed. This new terminology will appear in the product soon.

    ということで、SQL Pool / SQL Ondemand は専用モデルの SQL Pool と Serverless の SQL Pool というような名称に、近日中 に変更されるようです。

     

    Building real-time enterprise analytics solutions with Azure Synapse Analytics のセッションでもアップデートが発表されていますね。用語の変更や、機能アップデートについてはこのセッションでも紹介されています。

    imageimage

     

    Knowledge Center

    Synapse Analytics Workspace に Knowledge center が追加されました。
    ここから様々なさんぷるをにアクセスすることができるようになりました。
    image

     

    Stream Analytics (GA)

    Stream Analytics を使用して、SQL Pool のテーブルにデータの出力を行う機能 が GA し、200MB/sec のスループットでデータを転送することができます。

    1分間で 12GB を Synapse に転送することができる構成をとることができるようになりました。

    imageimage

    Ignite のセッション内では、関連のアナウンスとして次も紹介されていました。
    この辺は不勉強なので、すべてが Ignite で発表されたものなのかが把握できていないのですが、

    Stream Analtics については、New analytics and windowing capabilities in Stream Analytics のアナウンスもあり、ウィンドウ機能の追加も行われており、データの集計処理の効率も向上しているようです。

     

    Synapse Workspace と Azure ML ワークスペースの統合

    Synapse Workspace と Azure ML ワークスペースの統合について、いくつかの情報が公開されています。

    New guided UI experience to deploy machine learning models in Azure Synapse Analytics (in preview) でアナウンスもありました。

    一つ目が、Synapse Workspace の Notebook を使用して、Notebook で作成したモデルを MLflow を使用して、Azure ML ワークスペースにモデルを登録するというようなデモが Ignite 内で行われていました。

    この流れ自体は新規の機能ではなく、Notebook 上で PySpark の利用ですが、Synapse Workspace を利用して機械学習とシームレスに連携ができるのは Synapse の特徴の一つではないでしょうか。

    imageimage

    Quickstart: Create a new Azure Machine Learning linked service in Synapse として、Synapse に Azure ML をリンクされたサービスとして追加する方法が公開されています。

    セッションデモの中では、Hummingbird というライブラリが紹介されていました。
    Hummingbird は ニューラルネットワークフレームワークをシームレスに活用し、従来の ML モデルを tensor computations に変換することで、ML モデルを高速化することが可能なようです。

    モデルの変換については、ONNX への変換もサポートされていますので、skl2onnx の convert_sklearn による、従来の ONNX モデルの変換より、高速化したモデルが作成できる形なのでしょうかね。

    Synapse の SQL Pool では、PREDICT 関数によるネイティブスコアリングもサポートされており、PREDICT 関数のサポートは ONNX モデルのみとなるようです。

     

    統合についてはもう一つデモが行われており、Azure ML ワークスペースに登録されたモデルを Synapse Workspace で直接活用するというものです。

    imageimage

    Synapse のテーブルから、ML ワークスペースに登録しているモデルを選択し、モデルを使用した PREDICT 関数を実行するストアドプロシージャの作成ができるようになります。

    こちらについては、Tutorial: Machine learning model scoring wizard for Synapse SQL pools として、チュートリアルが公開されています。

     

    Synapse Link (プレビュー)

    Synapse Link が Cosmos の SQL API だけでなく、Mongo DB API もプレビュー機能としてサポートしたようです。
    Limitations に、Mongo DB API もサポートしたことが記載されるようになっています。

     

    この他にも Synapse Link には、もう一つ追加の情報があり、今後数週間を目途に、SQL Ondemand (今後 SQL Serverless と呼ばれる利用形態) で Synapse Link が Public Preview となるようです。(今までは Limited Public Preview)

    サポート状況の最新については、Azure Synapse Link (preview) for Azure Cosmos DB supported features を確認すると良いかと思います。

     

    Power BI performance accelerator for Azure Synapse Analytics (プレビュー)

    Power BI のほうでアナウンスがされていますが、Power BI から Synapse に対して、最も実行されているクエリを追跡し、キャッシュされたマテリアライズドビューを自動的に作成することで、クエリのパフォーマンスを向上させる機能が導入されるそうです。

    Dedicated SQL Pool で利用することができ、現時点では、Limited Public Preview となっています。

    導入時期については Scheduled to be available later this year となっていますので、詳細な情報は今後の公開または、Public Preview になってからでしょうか。

     

    Synapse パイプラインで Power Query のサポート

    Synapse のパイプラインで Power Query が呼べるようになるようです。
    ラングリングデータフローとの使い分け、どうなるんでしょうね?

    imageimage

     

    区切り文字テキストファイルの解析の強化

    SQL Ondemand で、CSV のような区切り文字が使用されたテキストファイルの解析機能が強化されています。
    PERSER_VERSION =2.0 という設定が追加されているようですので、パーサーの機能強化部分については、バージョンを意識しておくとよさそうです。

    • 高速なパーサー : 2~10倍の性能向上
    • スキーマの自動検出 : OPENROWSET によるスキーマの自動検出
    • CSV の変換 : CREATE EXTERNAL TABLE AS SELECT のサポート拡張により、クエリ結果を区切り文字テキストで保存し、後続の処理で利用できる

     

    COPY コマンド (GA)

    COPY コマンドが GA し、SQL Pool で一般提供開始されています。

    ステートメントだけで外部データの取り込みを定義できるようになりますので、シンプルな設定で外部データを取り扱うことができます。

    プレビュー時から、What is the performance of the COPY command compared to PolyBase? の記載が変更されており、ファイルの分割数が適切であれば、PolyBase とのパフォーマンスの比較についてはあまり意識していなくてもよさそうですね。

    The COPY command has become the default utility for loading data into data warehouses within Azure Synapse Analytics.

    ということなので、今後は COPY コマンド がデータロードツールのデフォルトユーティリティとなるようですので、PolyBase だけでなく、こちらの情報もキャッチアップする必要があるかと思います。

     

    GA に合わせて次の機能が追加されるようです。

    • Parquet ファイルのスキーマに基づいたスキーマの自動検出
    • Parquet ファイルに格納された複雑な構成のデータの読み込みのサポート

    機能は今後、数週間で利用可能になるという注釈がついていますので、機能拡張の部分は少し待つ必要があるかもしれません。

     

    列レベル暗号化 (プレビュー)

    2020/7 のアップデートで実装されているはずですが、列レベル暗号化のプレビューについても再度アナウンスがされています。

    Advanced Data Security として、列レベル暗号化のほかに、行レベルセキュリティや、動的データマスクもセッション内で紹介が行われていましたので、この辺は Synapse で利用可能なセキュリティ機能としてポイントとしてピックアップしておきたいのでしょうね。

    image

     

    T-SQL サポートの強化 (プレビュー)

    今後、数週間で利用可能になるということなので、すぐには使えないかもしれませんが、次のステートメントがサポートされるようになりました。

    • マージ: 専用モデルでサポート
    • ストアドプロシージャ : サーバーレスでサポート
      • 専用モデルでは従来からサポートしていたものがサーバーレスでも利用可能になる
    • インラインテーブル値関数 : 専用モデル / サーバーレスでサポート

     

    Spark で CDM のデータにアクセスするためのコネクターを提供 (プレビュー)

    New Common Data Model connector for Apache Spark in Azure Synapse Analytics & Azure Databricks (in preview) でアナウンスされていますが、Synapse の Spark 環境と Databricks で CDM にアクセスするためのコネクターが提供されたようです。

    使用方法については Using the Spark CDM Connector に記載されています。

     

    Data Flow 機能強化

    Data Factory と Synapse の Data Flow に機能強化が 2 点あり、Data Factory adding ORC and SQL MI (preview) for ADF Data Flows and Synapse Data Flows でアナウンスが行われています。

     

    1 点目が、Public Preview: Data Factory adds SQL Managed Instance (SQL MI) support for ADF Data Flows and Synapse Data Flows です。

    これにより、Data Flow で MI に対してのネイティブなコネクターが提供されることになります。
    使い方は Copy data to and from Azure SQL Managed Instance by using Azure Data Factor で。

    2 点目が、GA: Data Factory adds ORC data lake file format support for ADF Data Flows and Synapse Data Flows です。

    ORC 形式のファイルへのコネクタが一般提供開始されました。
    使い方は、ORC format in Azure Data Factory で。

     

    Azure Arc


    Azure Arc enable data services (プレビュー)

    Azure Arc enabled data service がプレビューで公開されました。

    ドキュメントについては、Azure Arc enabled data services で公開されており、Kubernetes 上に Managed Instance を展開できるようになります。

    展開してみたものがこちらになります。
    Azure Arc という仕組みを使用して、SQL Server 2019 のエンジンが使用されている Linux の SQL Server コンテナーを 様々な、Kubernetes 上に展開することができるようになります。

    image

     

    Azure Arc enabled SQL Server (プレビュー)

    SQL Server の Azure Arc 対応については、SQL Server を Arc の管理下にすることができる機能として、Azure Arc enabled SQL Server があり、こちらもプレビューで利用できるようになりました。

     

    Azure Arc enabled data services は、k8s 上に、Managed Instance を展開し、Azure Arc 配下で管理できるものです。

    Azure Arc enabled SQL Server は、Box (インストールタイプ) の SQL Server にエージェントを導入することで、SQL Server を Azure Arc 配下の管理対象とするものになります。

    エージェントのサポート対象は Supported SQL versions and operating systems に記載されており、サポート対象となる OS / SQL Server のバージョンを使用している環境を Azure Arc で管理することができるようになります。

    GA した Azure Arc enabled servers の仕組みを使用しているため、Azure Arc enabled SQL Server で SQL Server を Arc の管理対象とすると、次のように二つのリソースが登録されることになります。

    image

    Azure Arc に SQL Server を接続することで、SQL アセスメントの機能により、オンプレミスの SQL Server のセキュリティ診断が実施できていますね。
    image

    SQL Server Assesment と連携ができるようになっており、オンデマンドアセスメントが利用できる場合は、その結果を Azure Arc に取り込むことができるようです。

     

    Azure Arc シリーズを一通り認識させたものがこちらになります。

    image

    Azure Arc enabled SQL Server として、SQL Server を登録することで、Azure Arc enabled Server としても登録が行われます。

    Azure Arc enabled data services を使用するためには、Azure Arc data controller を展開する必要がありますので、このリソースが必須です。
    このリソースを展開している Kubernetes 上には、Managed Instance / PostgreSQL Hyperscale を展開することができますので、これらのリソースを展開して登録を行っています。

    Azure Arc enabled data services は Kubernetes が必須ですので、基盤に使用している Kubertes を Azure Arc enabled Kubernetes としても登録を行っています。

    上記画像で認識させている Azure Arc 対応サービスについては、Azure 上にデプロイをしたものではなく、NUC 上にデプロイしたものを登録しています。

    このようにAzure Arc は Azure のリソースだけでなく、様々なインフラストラクチャ上の環境を登録し、一元管理することができるものとなります。

     

    Azure Data Studio


    2020/9 版のリリース

    Azure Arc 対応等が様々な機能が追加されています。

    Share

    Written by Masayuki.Ozawa

    9月 23rd, 2020 at 12:17 am

    Leave a Reply