Greenplum ao表和heap表垃圾回收的细微差别

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

Greenplum ao表和heap表垃圾回收的细微差别

德哥 2017-09-17 23:48:54 浏览2433
展开阅读全文

标签

PostgreSQL , Greenplum , 垃圾回收 , vacuum


背景

在Greenplum中删除、更新数据记录时,会产生新的tuple版本,老的版本通过行头部标记:为已删除以及被哪个事务删除的。

因此频繁的更新后,或者批量的删除数据后,需要回收那些旧的版本。

通过vacuum、vacuum full、alter table redistribute命令,可以回收垃圾。

《如何检测、清理Greenplum垃圾 - 阿里云HybridDB for PG最佳实践》

但是回收AO表与回收HEAP表有些许不一样的地方,因为它们的存储方式有差异。

vacuum ao表

ao表为追加存储,当删除、更新记录时,有一个BITMAP对象来存储对应的记录是否被删除。

每个AO表的每个数据文件对应一条BITMAP信息,每个BIT位对应这个数据文件的一行。

网友评论

登录后评论
0/500
评论
德哥
+ 关注
所属云栖号: 阿里云数据库ApsaraDB