SQL Server 2019 については SQL Server 2019 が GA しました!! でまとめていますが、それ以外にも様々な情報が公開されています。
発表内容は Microsoft Ignite 2019 や、 Book of News A complete guide to all the news for Ignite 2019 からも確認できるかと。
データベースサービスについてのアナウンスについては、次の情報から確認できます。
- ?Build a data-driven culture to accelerate innovation
- Microsoft Ignite Announcements
- TK01 : Invent with purpose on Azure
- BRK002 : Azure Data: Unmatched price-performance and limitless capabilities wherever your data lives
- BRK2006 : SQL Server from ground to the cloud
セッションのダウンロードスクリプトも公開されていますので、ダウンロードはこれらを利用するとよいかと。
(私はセッションリストの取得用に自分で作成したスクリプトがあったので、それを改修して使っています)
Contents
- 1 SQL Database
- 2 SQL Database Managed Instance
- 3 SQL Database Hyperscale
- 4 SQL Database Serverless
- 5 SQL Database Edge
- 6 Database Migration Assistant (DMA)
- 7 Database Migration Servcie (DMS)
- 8 SQL Server on Azure VM
- 9 Azure Synapse Analytics
- 10 Azure Arc
- 11 Azure Data Factory
- 12 Azure Data Share
- 13 Azure Functions
SQL Database
新しいハードウェアの追加
vCore モデルの SQL Database のハードウェア世代に
- Fsv2 (コンピューティング最適化ハードウェア : 汎用目的で利用可能)
- M (メモリ最適化ハードウェア : ビジネスクリティカルで利用可能)
が Preview としてリリースされています。
現時点では全リージョンでは使用することはできないようで、利用可能なリージョンについては制限があります。
SQL Database の活用
SQL Database のブレードに、データベースのデータを使用した、PowerApps / Flow への導線が、追加されています。
これらでは、SQL Database を使用したテンプレートが提供されていましたが、それらの作成を Azure Portal から実施できるようになったようです。
Stream Analytics の出力先として SQL Database 設定したジョブの作成が SQL Database のブレードに追加されています。
Event Hub / IoT Hub のデータを入力とした SQL Database のテーブルへのデータ取り込みを行う Stream Analytics Job の作成をシンプルな UI で設定できるようになったかと。
UTF-8 サポートの GA
UTF-8 対応の照合順序のサポートが GA したようです。
SQL Server 2019 と同様に「_UTF8」の照合順序を列レベルまたはデータベースレベルで設定することにより char / varchar に UTF-8 を格納できる実装となりますので、既存環境での利用は計画的に。
Ignite 2019 のセッションの発表も見てみましょう。
直近で追加された SQL Database のセキュリティ機能についてまとめられていました。
- プライベートリンク
- AlwaysEncrypted セキュアエンクレーブ
- デモは SQL Server 2019 での実施でしたので、SQL DB としての利用はまだかと。
- SQL Server on Azure VM の脅威検知や脆弱性評価
これらが新機能として挙げられていますね。
セキュリティでは、Azure Always Protected というプロジェクトも進んでいるようです。
パフォーマンスのモニタリングとしては BRK3027 は必見のセッションだと思います。
Monitoring Azure SQL Database with Telegraf で紹介されているモニタリングの仕組みをはじめとして、様々な情報取得方法についての解説が行われています。
Azure 上の SQL Server ベースの環境は「Azure SQL」のブレードで管理できるようになっていますが、これについても、機能拡張は計画されているようです。
Ignite 2019 関連セッション
- BRK2012 : What’s new in security for Azure SQL
- BRK2013 : Raising the bar again for Azure SQL Database with Centrally Managed Encryption
- BRK3027 : Azure SQL Database: Maximizing cloud performance and availability
- THR1077 : Azure SQL unified creation and management experience
- THR3143 : Choices, choices: Using Unicode in SQL Server and Azure SQL Database
SQL Database Managed Instance
Managed Instance の仮想クラスターのアップグレードについての紹介は初めて見たかもしれません。
利用者側で設定は変更できないはずですが、ビジネスクリティカルのような、データ同期の仕組みを使用している環境では、Managed Instance でも内部的にFault Domain と Upgrade Domain の考え方があるようですね。
Managed Instance を使用したシステム構成も数パターン紹介されています。
Managed Instance は新規環境としての利用はもちろん可能ですが、既存の SQL Server の移行先として使用されるケースも多いかと思いますので、移行に関しての基本的なパターンもチェックしておきたいですね。
現在までのアップデートと、今後のロードマップについても発表されています。
現在までのアップデートで大き目な内容はインスタンスプールですかね。
インスタンスプールを使用することでプール内に複数の Managed Instance (最小 2 コア環境) を構築することができるようになりますので、複数の Managed Instance を使用する場合などはインスタンスプールの存在を覚えておくとよいかと。
直近の更新だけでなく、今後のロードマップも発表されました。
個人的に気になったのは次の二つですね。
- Hyperscale service tier in SQL MI
- Maintenance policy
- BRK2010 : Azure SQL Database Managed Instance: A fully managed SQL Server in the cloud
- THR3097 : Azure SQL Database managed instance disaster recovery architecture best practices
SQL Database Hyperscale
ドキュメントでは確認できていないのですが、Hyperscale の最大 DB サイズが 100TB ではなく、200TB となっているスライドがいくつか紹介されています。
Inspire で 200TB のデモを実施していましたが、上限が 100TB から 200TB に緩和されているのかもしれませんね。
Hyperscale のアーキテクチャについては BRK3028 で解説が行われています。
Ignite 2019 関連セッション
- BRK2011 : Azure SQL Database serverless: Providing autoscaling and optimized price-performance for your database workloads
- BRK3027 : Azure SQL Database: Maximizing cloud performance and availability
- BRK3028 : Best, better, Hyperscale: The last database you will ever need in the cloud
SQL Database Serverless
SQL Database Serverless はプレビューだったものが、GAしました。
自動停止が 1 時間以上が最小ではあるのですが 1 時間以上は 10 分の間隔で調整ができるようになっています。
GA 後のロードマップについても発表がありました。
Hyperscale / 使用可能リソースの状況と合わせて、最小の自動停止期間についても、現在の 1 時間より短い期間での設定や、再開についても 1 分未満で完了させるというようなアップデートが予定されているようです。
Ignite 2019 関連セッション
SQL Database Edge
SQL Database Edge が Public Preview となり、ドキュメントが公開されました。
現在は承認制の Public Preview となっているため、利用するためには、SQL Database Edge 早期導入プログラムにサインアップする から申請をする必要があります。
SQL Database Edge は、IoT Edge にモジュールとして SQL Database Edge モジュールを追加することで利用可能となり、単体で使用するというわけではなく、IoT Edge の上で使用する形となります。
500MB より小さいフットプリントで動作させることができ、ARM64 にも対応した SQL Server のエンジンです。
機械学習については ONNX のフォーマットの学習済みモデルを PREDICT 関数 経由で使用するという方法となっているようです。
他にも AutoML / MLflow なども用語として出てきますので、次の情報を確認しておくとよさそうですね。
(MLOps についても確認しておく必要がありそうですが)
- Deploy and make predictions with an ONNX model in SQL Database Edge Preview
- 自動化された機械学習とは
- MLflow と Azure Machine Learning を使用してメトリックを追跡し、モデルをデプロイする (プレビュー)
- MLOps:Azure Machine Learning でモデルを管理、デプロイ、および監視する
SQL Database Edge を使用した Connected Scenario についても紹介されています。
Ignite 2019 関連セッション
Database Migration Assistant (DMA)
DMA が 5.0 となり、SQL Server 2019 を移行先としてサポートしました。
(移行元として SQL Server 2019 を指定することはできません)
- Microsoft Data Migration Assistant support for SQL Server 2019 is now available
- MicrosoftR Data Migration Assistant v5.0
DMA は SQL Server のマイグレーションの中心的なツールとなっていますので、どのような機能が含まれているかのキャッチアップは行っていきたいですね。
クエリストアも強力な機能ですので、SQL Server 2016 以降にマイグレーションを行う場合は、クエリストアを活用して、互換性レベルに対しての対応も行えると効果的かと。
SQL Server では基数指定のロジックなどもバージョンによって変わってきますので、クエリストア並びに、2017 のEnterprise Edition 以降を使用している場合は自動チューニング機能もクエリの実行効率の後退には強力な機能となります。
SQL Server 2016 以降 + 最新の SQL Server を使用した場合、クエリチューニングアシスタントという機能がありますので、これによってクエリのワークロードがどのように変わるかの調査も可能となります。
Data Access Migration Toolkit
.NET や Java のソースコードを解析し、移行のためのデータベースのアクセスについて評価を行う Visual Studio Code の Extension である Data Access Migration Toolkit が GA しました。
DMA 5.0 は Data Access Migration Toolkit で出力された JSON をアドホックなクエリとして入力情報として確認することができるようになっています。
Ignite 2019 関連セッション
- BRK2007 : Running upgrades for mission critical SQL Server
- THR2111 : Microsoft tools and programs can jumpstart your SQL Server migration to Azure
Database Migration Servcie (DMS)
次のパターンについて、ハイブリッドモードという移行方法がサポートされるようになりました。
- Azure SQL Database managed instance with near zero downtime (online).
- Azure SQL Database single database with some downtime (offline).
ハイブリッドモードの場合、DMS を仮想ネットワーク内に作成する必要がなくなります。
移行対象を仮想ネットワーク内に認識させるのが難しい場合などは、移行元の SQL Server と DMS の両方にネットワークの疎通ができる環境に「ハイブリッドワーカー」のインストールを行い、 Windows サービス (ScenarioEngine.4.4.4595.4 (ScenarioEngineCmd.exe”)) を起動します。
これにより、ハイブリッドワーカーが DMS と移行対象の SQL Server のデータ移行のハブとなり、データベースのマイグレーションを行うことができるようになります。
(ハイブリッドワーカーが起動する HTTPS 経由で DMS とアクセスされるため、直接 TCP 1433 を外部に開いていなくてもデータの移行が可能となります。)
ハイブリッドモードは、DMS の作成時に指定をすることになり、現状は「米国東部」に作成した場合にハイブリッドを選択できるようになっています。
米国東部に作成した DMS から他のリージョンの SQL Database / Managed Instance にデータを移行することができますので、
- Azure Database Migration Service hybrid mode is now in preview
- Quickstart: Create an instance of Azure Database Migration Service in hybrid mode using the Azure portal (Preview)
ツールやサービスを活用して、効率的な移行を行うことがマイグレーションのポイントかと。
アプリ側はマイグレーションに携わっていないので、使い勝手がわからないのですが、Migrate to Azure App Service も提供されています。
Azure Migration Program というものも提供されているようです。
直近であったアップデートは次のようになっているようです。
Ignite 2019 関連セッション
- BRK3205 : Deep dive with data migration tools and Azure Database Migration Service
- MOD20 : Moving your database to Azure
SQL Server on Azure VM
SQL Server on Azure VM で Advanced Data Security の提供が Preview で開始されたようです。
脆弱性評価 (Vulnerability Assesment) と Advanced Thread Protectoin が使えるようです。
- Advanced data security for SQL servers on Azure Virtual Machines
- Advanced data security for SQL servers on Azure Virtual Machines (Preview)
SQL Server 2019 の場合は、次の 2 項目も追加で評価できるようで、SQL Database により近いセキュリティ対策ができるようです。
- Potential SQL injection attacks (Supported in SQL Server 2019)
- Unsafe command (Supported in SQL Server 2019)
SQL VM リソースプロバイダーについてもアナウンスされていますので、今後、SQL Server on Azure VM を利用される方は、リソースプロバイダーの存在も意識しておいていただけるとよいかと。
Azure Premium File Share を使用した SQL Server on Azure VM のドキュメントも公開されたようです。
「Premium File Share」 の「共有フォルダ型」のクラスターではなく、「Azure Shared Disks」による「共有ディスク型」のクラスターも今後の構成として出てきます。
DR 構築について SA を保有している場合は特典が使用できるようになっていますので、SA 特典の活用も新しい情報ですね。
Ignite 2019 関連セッション
- BRK2008 : SQL Server in Azure Virtual Machine reimagined
- BRK3097 : Inside Azure datacenter architecture with Mark Russinovich
- BRK2012 : What’s new in security for Azure SQL
- BRK4018 : Best practices to improve performance with Azure Disks
- THR1077 : Azure SQL unified creation and management experience
Azure Synapse Analytics
新しいデータ分析サービスとして Azure Synapse Analytics が発表されました。
無限のスケール / パワフルな洞察 / 統一されたエクスペリエンス / 比類のないセキュリティを備えた、シンプルにいうと、SQL Data Warehouse が進化したものとなっています。
(Azure Synapse Analytics の提供開始により、SQL Data Warehouse の名称も Azure Synapse Analytics に代わっています)
クラウドのスケールで、End to End の分析を行うために、ビッグデータ /? データウェアハウス / データ統合を一つのサービスとして提供したものが Azure Synapse Analytics となっています。
従来まではそれぞれの用紙が独立したサービスとして提供されていました。
Azure Synapse Analytics では次のような統合されたサービスとして提供されます。
Synapse ワークスペースという領域から SQL プール / Spark Pool が作成できるようになり、このワークスペースから、統合的な操作を行うための Synapse Studio を起動することもでるようです。
こちらが Synapse Studio の画面となります。
「Data」は、Azure Data Studio に近い、UI でデータや Azure Data Lake Storege の操作ができるようになっているようです。
SQL のスクリプトや Notebook によりデータの操作を行うことができます。
ADL に格納されているデータを参照するための SQL の作成や、Notebook の作成も UI 操作から簡単にできるようです。
「Develop」は、開発用の領域tなり、クエリ / Notebook / データフロー / Spark Job / Power BI レポートを管理しておくことができるようです。
Data flows は、ADF の Maping Data Flow の UI が表示されていました。
PowerBI のレポートについても、Synapse Data Studio 上から操作ができるようです
「Orchestrate」はパイプラインの作成となり、この部分は Azure Data Factory と同様の UI でパイプラインを作成できるようです。
従来の SQL Databa Warehouse は、Synapse Analytics では、Provisioned? Data Warehouse という形での提供となっており、こちらについては SQL DW ですので、すでに GA となっています。
Serverless の部分として、On-demand Query as a Service があり、こちらについては? Preview が始まっています。
次のような機能が Serverless として使用することができるようです。
- SQL Analytics
- Spark Integration
- Data Ingestion
- Synapse Studio
機能の一覧については こちら の 「See the new features」から確認できます。
SQL Analytics については、 Pool と On-demand の 2 種類の利用形態を選択できるようです。
Data Lake に蓄積されたデータを直接検索するための On-demand という利用方法が可能となるようです。
(この利用方法が、Serverless の Query as a Service なのかなと)
次のような、OPENROWSET を使用して、ADL に格納されているファイルに対してのクエリ実行 (または、Notebook による分析) を行い、外部テーブル (External Table / Spark SQL) を活用しながら Data Lake 上のデータ分析を行うものが、On-demand シナリオとなるようです。
従来型の SQL DW としての機能 (Provisioned の SQL) も新しいものが提供されているようです。
SQL DW のパフォーマンスの最適化については DATA50 が参考になります。
すっかり忘れていたのですが、クエリストア、SQL DW でも使えるようになっていましたね。
- TK01 : Invent with purpose on Azure
- BRK2187 : NEW! Introducing Azure Synapse Analytics: the Next Evolution of SQL Data Warehouse for Every Data Professional
- BRK3050 : Democratizing the Data Lake with On-Demand Capabilities in Azure Synapse Analytics
- BRK3051 : Cloud Data Warehousing with Azure Synapse Analytics
- DATA10 : Delivering the MDW with Azure SQL Data Warehouse, Azure Databricks, Azure Data Factory and PBI
- DATA50 : Azure SQL Data Warehouse: Query performance tuning
- THR3113 : Maximizing ROI in SQL Data Warehouse with enhanced workload management
Azure Arc
Azure Arc が新しいサービスとして公開されました。
- Azure services now run anywhere with new hybrid capabilities: Announcing Azure Arc
- Azure data services anywhere
現時点では次のようなリソースをしようすることができるようになっています。
- Azure Arc for Servers
- Azure Arc for Kubernetes
- Azure data services on Azure Arc
Database に関連する機能については、許可制のプレビューでの利用となっています。
現時点では、Data Service として、次の 2 種類が提供されます。
(今後の計画としては、さらに多くの Data Servcie が追加される予定のようです)
- Azure SQL Database MI – Azure Arc
- Azure Database for PostgreSQL – Azure Arc
- PostgreSQL は Hyperscale (Citus) を提供
デモの中で表示されていたバージョン情報が以下の画像になるのですが、Arc 上で稼働している Managed Instance として認識されていることが確認できますね。
Kubernetes 上で動作する SQL Server のため、SQL Server on Linux ベースとなっているようです。
(Version については、SQL Server 2019 RTM のバージョンとなっているようです)
Kuberntes クラスター上に Azure データサービスを展開でき、実行場所を問わず Azure データサービスを展開することができ、ポリシーの管理やデータのレプリケーションを Azure Arc で統合的に管理できるようになるようです。
「Azure data services anywhere」がキーワードとなっており、Azure のデータサービスを Kubernetes が動作する環境であれば、場所を選ばずどこででも実行できるようになります。
Arc for servers については、ブリックプレビューのようでこちらは申請をしないでもポータルに追加されているかと。
Arc の特徴としては、Azure の管理の中 (シングルコントロールプレーン) で、Azure のリソースと、Arc により展開したリソースの管理を行うことができるということも挙げられています。
SQL Server 2019 の Big Data Cluster も Kubernetes 上に構築されており、Kubernetes の学習は避けられなさそうですね。
Microsoft が提供している Kubernetes の学習用コンテンツとしては次のようなものがありますので、ファーストステップにはこれらを利用することもよさそうですね。
Ignite 2019 関連セッション
- MLS1045 : Azure Arc for Server
- BRK2208 : Introducing Azure Arc
- BRK3327 : Azure Arc: Extend Management and Governance to any Infrastructure
- THR2336 : Azure Arc in action!
Azure Data Factory
Wrangling Data Flow がパブリックプレビューとなりました。
Maping Data FlowMaping Data Flow / Wrangling Data FlowWrangling Data Flow が使用できるようになることで、ADF の機能だけである程度の変換を伴う ETL / ELT を作成することができるようになったのではないでしょうか。
ADF のロードマップについても紹介されています。
ADF は最新の情報があまり追えていないので、時間を見てキャッチアップしたいですね。
今後のロードマップの SQL Agent to ADF via PowerShell はちょっと気になります。
Ignite 2019 関連セッション
- BRK3045 : Code-free ETL using Azure Data Factory
- BRK3209 : PaaSport to paradise: Lifting and shifting with Azure SQL Database + SSIS in Azure Data Factory
外部の Azure のサブスクリプションにデータを公開 (共有) することができる Data Share が GA し、SQL Database / SQL Data Warehouse のデータ共有が Public Preview となったようです。
(今までは SQL Database 向けのデータ共有は Private Preview でした)
- Azure Data Share is now in GA!
- Near-real-time data sharing with Azure Data Explorer and Azure Data Share (preview)
- Now available: Azure Data Share
SQL Database / SQL Data Warehouse 内のデータをスナップショットとして Shata Share 経由で Azure の他のサブスクリプションに対して共有することが可能となります。
Ignite 2019 関連セッション
Azure Functions
SQL Server / Database の管理者は PowerShell で、データベースの操作する機会が多いのではないと思うのですが、Azure Functions の PowerShell が GA しました。
これで管理がはかどりますね。