(ベストプラクティス)Talend Administration CenterユーザーのためにPostgreSQLとVACUUMを併用
Talend Administration Centerを使ってジョブを取得、スケジュール、実行する場合、データベースのアップデート/削除操作が複数実行されるため、PostgreSQLを使用している場合にパフォーマンスが低下することがあります。
PostgreSQLでVACUUMコマンドを実行することをお勧めします。この実行により、アップデートによって削除されたり非推奨(廃止)になったアイテムはテーブルから物理的には削除されない状態となります。
VACUUMの標準フォームは、テーブルとインデックスの使用されていない行バージョンを削除し、今後再利用できるスペースをマークします。ただし、テーブルの末尾にある1つまたは複数のページが完全にフリーになり、排他的なテーブルロックが簡単に実行できる特別な場合を除けば、スペースをオペレーティングシステムに戻すことはありません。これに対してVACUUM FULLは、テーブルファイルの完全な新バージョンをデッドスペースなしで書き込むことでテーブルを積極的にコンパクト化します。これによってテーブルのサイズは最小限に抑えられますが、時間がかかることがあります。また、操作が完了するまでの間、テーブルの新しいコピーのためにディスク容量がさらに必要になります。VACUUM FULLは四半期ごとに実行することをお勧めします。
VACUUMコマンドの詳細は、PostgreSQLドキュメントをご覧ください。
自動バキューム(アップデートされたテーブルのみでVACUUMを実行するためにPostgreSQLサーバーによって定期的に起動されるプロセス)の設定方法の詳細は、PostgreSQLドキュメントをご覧ください。