Append-only表无效数据清理#

介绍Append-only表中的多版本基本清理原理以及方式。MAGMA表和HORC表都属于Append-only表。

MAGMA表#

MAGMA表会在后台自动进行COMPACTION操作处理,用户不需要操作。

HORC表#

OushuDB 支持对 HORC 表的自动 COMPACTION,触发方式为:

  • 修改量到达一定阈值;由参数compact_scale控制: 无效行占总行数的比例超过该值时,可以触发自动compaction。取值范围为0~1。

  • 小文件数量超出阈值;由参数compact_small_file_size_kb和compact_small_file_limit控制:小于前者的数据文件会被认为是小文件,小文件数量大于后者时,也会触发自动compaction。

自动COMPACTION会在后台执行,不会阻塞任何SELECT/INSERT,但会阻塞UPDATE/DELETE和DDL。

COMPACTION的并行度通过GUC autocompact_max_workers控制,可以控制每个main节点上的后台COMPACTION并行度,默认为8。