VACUUM不要の新アプローチ「zHeap」
(EDBチーフアーキテクト、Robert Hass)
Robert Haas, Vice President, Chief Architect, Databese Server もしPostgreSQLでVACUUMの必要がまったくなくなったらどうでしょうか?これはなかなか想像し難いことのようです。結局のところ、PostgreSQLはマルチバージョン コンカレンシー コントロール(MVCC)を使用しています。従って複数の行バージョンを作成する場合、最終的に何らかの形で不要行バージョンを削除する必要があります。 PostgreSQLでは、VACUUMがそれを確実に実行しており、オートバキュームプロセスのおかげで、それが遅滞なく行われているわけです。とは言え、全てのリレーショナル・データベースが、同じ方法でMVCCを実現しているわけではないという事実からも明らかなように、他の方法を取ることも可能です。PostgreSQLが新しいアプローチを採用することで、大いに恩恵を得ることができる可能性もあるのです。実際、EnterpriseDBの私の同僚の多くは、新しいアプローチの実装に忙殺されております。今日は私たちが何をやっており、なぜそれをやっているのかについてお話ししたいと思います。