zheap

An alternative storage engine intended to minimize the need for tuple vacuuming

zheap is an alternative storage engine proposed by EnterpriseDB intended - in combination with pluggable storage - to minimize the need for tuple vacuuming inherent in PostgreSQL's native MVCC implementation.

zheap was originally proposed in March 2013 in this thread on pgsql-hackers.

Design

The design of zheap is centred around the concept of UNDO logs, by which redundant tuples are written to storage outside of the main heap, and can easily be removed when no longer required. This also means the main heap is no longer prone to bloat caused by the presence of dead tuples, and vacuuming becomes much less of an issue.

Development status

Development was initially undertaken by EnterpriseDB, but the associated GitHub repository was last updated in 2019.

As of 2020, development is being continued out by CyberTec with funding by Heroic Labs (source).

  • CyberTec project page: zheap
  • CyberTec GitHub repository: postgres
  • PostgreSQL wiki: zheap

Categories

PostgreSQL internals, Storage

See also

MVCC