Vacuum分析
Vacuum分析は、Top オブジェクトで提供するBloating、Dead Tuple、Ageなどの情報をVacuum観点で視覚的に再構成した画面です。Summaryカード、Top 5チャート、Vacuum実行履歴などを通じて、インスタンスのVacuum状態を一目で把握できます。
-
Vacuum Health Summaryを通じて、インスタンスの全体的なVacuumの健全性を素早く把握できます。
-
Table Analysisで、Dead TupleとBloat Sizeを基準に管理が必要なテーブルを識別できます。
-
Vacuum Execution Historyを通じて、Vacuum実行パターンと履歴を時系列で確認できます。
ノート
Vacuumとは?
PostgreSQLはMVCC(Multi-Version Concurrency Control)方式を使用するため、UPDATEやDELETEを実行しても既存のRowは即座に削除されずDead Tupleとして残ります。VacuumはこのようなDead Tupleをクリーンアップして、ディスク空間を再利用できるようにするメンテナンス作業です。
Vacuumが適切なタイミングで実行されないと、以下の問題が発生する可能性があります。
-
テーブルBloatの増加: 不必要な空間が増え、ディスク使用量の増加とクエリパフォーマンスの低下が発生
-
Transaction ID Wraparound: Transaction Ageが限界に達すると、データ損傷防止のためDBが自動的に書き込みを停止するセーフガードが作動