Microsoft Inspire 2022:データベース関連のセッション

2022年のMicrosoft InspireのSQL Server 2022関連の以下のセッションのメモです。

* エキスパートに質問する：Microsoft Intelligent Data Platform でデータ資産を獲得
* SQL Server 2022：これまで以上に Azure との接続性が高い SQL Server をリリース

# エキスパートに質問する：Microsoft Intelligent Data Platform でデータ資産を獲得
### Oracleデータの移行について、どんなマネージドデータベースオプションを提供していますか？

今回の[新しい発表](https://news.microsoft.com/2022/07/20/oracle-and-microsoft-announce-availability-of-oracle-database-service-for-microsoft-azure/)を紹介したかったのでしょう。
回答として言われていたのは以下です。

* Azure IaaS上でOracleを実行する
* OCIインターコネクトを使用してマルチクラウド環境で実行する
* PL SQLをPL PGSQLに移行する（Azure database for Postgre SQL）
* アプリケーションをリファクタリングし、SQL DBやCosmosDB、Synapseに移行する

ちなみにOracleについては公式に以下のドキュメントが提供されています。

https://docs.microsoft.com/ja-jp/azure/virtual-machines/workloads/oracle/oracle-reference-architecture

### SQL Server 2022の主な技術革新は何ですか

回答として紹介されていたのは以下です。

* [ディザスタリカバリ用のセカンダリをクラウドのAzure SQL Managed instanceにできる](https://docs.microsoft.com/ja-jp/azure/azure-sql/managed-instance/managed-instance-link-feature-overview?view=azuresql)
* [Azure Synapse Link for SQL](https://docs.microsoft.com/ja-jp/azure/synapse-analytics/synapse-link/sql-synapse-link-overview)
* [台帳機能](https://docs.microsoft.com/ja-JP/sql/relational-databases/security/ledger/ledger-overview?view=sql-server-ver16)
* Purview統合（内部監査と外部監査の両方に非常に便利）
* コードを変更することなく、より高速に実行できるクエリパフォーマンス最適化機能

### SQL Server to Azureの移行について

まず選択肢としては以下の4つがあります。

1. Azure VM上のSQLServer
1. Managed Instance
1. SQLdatabase
1. Azure SQL Edge

Azure SQL Edgeは文字通りEdgeのためのものなので出てきませんが、以下だそうです。

1.  OSレベルのアクセスを維持したい場合、高速なリフト・アンド・シフトを実装したい → 「Azure VM上のSQLServer」
1.  クラウドでコストとパフォーマンスを最適化し、データとアプリを近代化し、さらにはクラウドで新しいアプリを構築したい → 「Managed Instance」
1.  クラウド上で革新を続け、新しいアプリケーションを作りたい → 「SQL Database」

### AzureのRedis用キャッシュはどのように考えるべきでしょうか

ごく普通の回答で、「Azure SQL DatabaseやAzure database for postgreを使用し、それをAzure Cache for Redisと結合して、アプリやウェブサイトのパフォーマンスと全体の応答性を高速化する」とのことでした。

### クラウドスケールのデータ分析

どうどうしろと言っているのか英語力が足りないのかあまり分かりませんでした。。。
DatabricksとSynapse、Power BIの話が出てきましたが、HDInsightはどこに行ったんですかね

### 移行について

Oracleの話やSQL ServerからAzureへの話はすでに出ていましたが、いくつかのサービスを紹介し忘れたということなのかもう一度移行の話です。以下が紹介されていました。

* [Azure Migrate](https://docs.microsoft.com/ja-jp/azure/migrate/) 仮想マシンの移行
* [Data Migration Assistant](https://docs.microsoft.com/ja-jp/sql/dma/dma-overview?view=sql-server-ver16) SQL Serverの互換性診断
* [Database Migrations Service](https://docs.microsoft.com/ja-jp/azure/dms/) DBの移行ツール

### アプリのモダナイゼーション

Javaや.Netの場合はAzure app serviceと、データベースはAzure SQL DBかManaged instanceのどちらかを使ってください、ということでした。
オープンソースのデータベースを利用している場合はAzure Database for MySQLやPostgres、Azure Database for Postgres、CassandraやMongoDBを使っている場合は、Azure CosmosDBにだそうです。
Oracleの場合は最初の話ですね。

# SQL Server 2022：これまで以上に Azure との接続性が高い SQL Server をリリース

このセッションの要点は以下だったと思います。個人的に気になるのはSynapse linkとリードレプリカのクエリストア、新しいパラメータスニッフィング対策です。

* SQL Server 2022は、現在パブリックプレビュー中で、今年末の一般公開
* Azure SQL Managed Instanceをディザスター・リカバリーに使用できる
* Azure Synapseを使用し、ETLの必要性を最小限に抑えて、ほぼリアルタイムの分析ができる
* Microsoft Purviewと統合してインサイト、リネージ、ポリシーの集中管理を行うことができる
* 業界で最も脆弱性の少ないデータベース
* SQL Ledgerのような革新的なデータ完全性機能を提供
* ベンチマークのTPC-Hで高いスコアを出している
* エッジからクラウドまで、お客様が必要とするあらゆる場所に提供している
* クエリストアがデフォルトでオン
* 同じストアドプロシージャに対して複数のプランをキャッシュすることができる
* アプリケーションコードを変更することなくプランを形成するためのヒントをサポート
* リードレプリカクエリのパフォーマンス情報を取得することをサポートする

# SQL Server 2022について

SQL Server 2022についてはすでに大量のドキュメントが公開されています。

https://docs.microsoft.com/ja-jp/sql/sql-server/what-s-new-in-sql-server-2022?view=sql-server-ver16

パブリックプレビューも公開されました。

https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2022