Archive for 11月, 2020
PASS Summit 2020 と Azure Arc Enabled SQL Managed Instance で見る、次のバージョンのデータベースエンジンの情報
今月、PASS Summit 2020 が開催されており、SQL Server ベースのデータベースエンジンに対して追加が予定されている、クエリストアヒント / Ledger という、2 つの機能の紹介が行われていました。
現在、最新バージョンの SQL Server は SQL Server 2019 CU8 ですが、このバージョンではこれらの機能の実装の片鱗を見ることはできません。
しかし、Azure SQL Database / Azure Arc Enabled SQL Managed Instance のクラウドベースの SQL Server のデータベースエンジンでは、これらの機能はまだ使用することはできないのですが、機能の実装が進んでいることが把握できる情報を確認することができるようになっています。
現在利用可能な SQL Server ベースの環境では、Azure Arc Enabled SQL Managed Instance (Azure Arc SQL MI)? が機能をより確認できそうですので、ざっくりと情報を見てみました。
SQL Server / Azure SQL Database の last-page insert による PAGELATCH_EX の競合について
調べ物をしていたところ、SQL Server で最終ページの挿入 PAGELATCH_EX 競合を解決する方法 (How to resolve last-page insert PAGELATCH_EX contention in SQL Server) というドキュメントが公開されていることに気づいたので、少しまとめておこうかと思います。
本投稿は、データベースを遅くするための8つの方法 で解説されている、「シーケンスナンバーに PK を使用する」の Right Growing Index に関してのSQL Server での基本的な考え方になります。
SQL Server / Azure SQL Database で非効率な SELECT による Page writes/sec の増加について
SQL Server / Azure SQL Database (SQL DB) で、データベースのデータファイル (mdf/ndf) に対しての書き込みの発生状況を確認するための方法として「SQL Server: Buffer Manager オブジェクト」の「Page writes/sec」の情報を調べるという手法があります。
Page writes/sec の説明は次のようになっています。
物理的なデータベース ページ書き込みが実行される 1 秒あたりの回数を示します。
SQL Server では、物理的なデータベース ページへの書き込みが発生する一般的な要因としては、次のような内容があります。
- チェックポイントの発生による、ダーティーページのデータファイルへの書き込み
- Checkpoint pages/sec / Background writer pages/sec の情報と組み合わせての確認
- Lazy writes/sec の情報と組み合わせて確認
クエリストアは少し例外的なパターンですが、基本的には、メモリ上では変更されているが、データファイルには書き込みが行われていないデータを書き込み、ディスクに永続化する際に Page writes/sec が発生します。
ただし、特定の状況下では、非効率な SELECT によっても Page writes/sec が発生するケースがあります。
PASS VIRTUAL SUMMIT 2020 : Day 1 Keynote の発表内容について
2020/11/9~13 の期間で開催されていました。
今年は全セッションがオンライン化された Virtual Summit として開催されており、Keynote についても、開催時間に合わせての事前録画の公開となっていました。
仕事の関係でリアルタイムで参加はできていないのですが、録画で内容を確認することができましたので、発表内容をまとめておきたいと思います。
2020/9 に Ignite 2020 があったばかりですので、その時のアナウンスと重複しているものが多いですね。
Synapse Analytics の Serverless SQL pool の分散クエリ処理エンジンについて
しばやん先生が Hack Azure! #4 – Synapse と Cosmos で実現するサーバーレスデータ分析 フォローアップ で紹介していますが、Synapse Analytics の Serverless SQL pool の分散クエリ処理エンジン (Distributed Query Processing Engine : DQP) については、POLARIS として、Microsoft Research から、「POLARIS: The Distributed SQL Engine in Azure Synapse」として、論文が公開されています。
論文を読むのはしんどいのですが、VLDB 2020 では、動画の公開も行われていましたので、こちらも合わせながら、ざっくりと眺めてみました。
Azure Arc enabled SQL Server による Azure 外の SQL Server の Azure への拡張
Azure Arc enabled SQL Server (Azure Arc 対応 SQL Server) は、オンプレミスの SQL Server や Azure 外で動作している SQL Server の管理を Azure に拡張することができます。
構成については、Azure Arc 対応 SQL Server (プレビュー) で解説が行われており、全体的なとしてはこのドキュメント内で解説されている下図のアーキテクチャとなります。
Azure Arc enabled SQL Server については、Azure Arc で実現する SQL Server Anywhere をまとめる際に触れてはいたのですが、軽く確認しただけでしたので、この機会にもう少し触れてみたいと思います。
Azure Arc enabld SQL Server については、Windows / Linux の両環境の SQL Server をサポートしていますが、Windows 部分をメインに検証しています。
2020/10 の SQL Server / SQL Database 関連の更新情報
来週から PASS Summit 2020 が開催されますが、その前に、先月の更新情報を確認しておかないとなと思いチェックしてみましたとさ。
更新情報のまとめは、毎週は無理なので月次でやろうと思いました(遠い目)