We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


What is difference purge() and DO_TM_TASK('mergeout') ? — Vertica Forum

What is difference purge() and DO_TM_TASK('mergeout') ?

HyeontaeJuHyeontaeJu Vertica Customer

What is difference purge() and DO_TM_TASK('mergeout') ?
Is the purge mergeout's sub task??

Answers

  • moshegmosheg Vertica Employee Administrator

    PURGE permanently removes delete vectors from ROS storage containers so disk space can be reused.
    SELECT DO_TM_TASK('mergeout'); runs a Tuple Mover operation to merge ROS containers.

    Purging deleted records in a storage container requires a rewrite of the storage container. Purging deleted records more often than is necessary results in a significant increase in I/O. Because the I/O can increase significantly, Vertica purges deleted records only when storage containers are rewritten by node-based operations, such as:

    • Recovery
    • Reorganize
    • Rebalance
    • Refresh
    • Tuple Mover mergeout

    The mergeout operation merges ROS containers that qualify for mergeout based on a strata algorithm for active partitions and for tables without partitions. During mergeout, the Tuple Mover purges any records from qualifying ROS containers deleted prior to the AHM epoch.
    When a new partition is created, the current active partition becomes inactive. ROS containers of the most recent inactive partition are merged into a single ROS container. Records deleted prior the AHM epoch are purged during this process.
    See: https://www.vertica.com/kb/Deletes-in-Vertica-The-FAQs/Content/FAQs/Deletes-in-Vertica-The-FAQs.htm

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file