清除删除的数据

在 Vertica 中,删除操作不会从物理存储中移除行。 DELETE 会将行标记为已删除,UPDATE 也是如此,后者会合并删除和插入操作。在这两种情况下,Vertica 都会将丢弃的行保留为历史数据,在清除这些历史数据之前,仍然可通过历史查询访问这些数据。

保留历史数据的成本有双部分:

  • 向已删除的行和删除标记分配磁盘空间。

  • 典型(非历史)查询必须读取并跳过已删除的数据,这可能会影响性能。

清除操作将从物理存储中永久移除历史数据,并释放磁盘空间供重复使用。只有 Ancient History Mark (AHM) 之前的历史数据才符合清除条件。

可以通过两种方式清除数据:

在这两种情况下,Vertica 都会清除直到并包括 AHM 时期的所有历史数据,然后重置 AHM。有关 Vertica 如何使用时期的详细信息,请参阅时期