更新时间:2024-11-12 GMT+08:00
分享

Ustore简介

Ustore(Unified Storage)是GaussDB推出的一款原位更新的存储引擎,其多版本的实现较Astore最大的区别在于最新版本和历史版本的数据是分离存储的,而索引当前还没有分离。Ustore目前已发展为GaussDB的默认行存引擎。

使用Ustore的优势

  • 最新版本和历史版本分离存储,相比Astore扫描范围小。去除Astore的HOT chain,非索引列/索引列更新,Heap均可原位更新,ROWID可保持不变。历史版本可批量回收,空间膨胀可控。
  • B-tree索引增加了事务信息,能够独立进行MVCC。增加了IndexOnlyScan的比例,大大减少回表次数。
  • 不依赖Vacuum进行旧版本清理。独立的空间回收能力,索引与堆表解耦,可独立清理,I/O平稳度更优。
  • 大并发更新同一行的场景,相对于Astore的ROWID会偏移,Ustore的原位更新机制保证了元组ROWID稳定,先到先得,更新时延相对稳定。
  • 支持闪回功能。

Ustore DML在修改数据页面时,也需要同步生成Undo,因此更新操作开销会稍大一些。此外单条Tuple扫描开销由于需要复制(Astore返回指针)也会大一些。

相关文档