检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
文件组织结构 如需查询当前回滚段使用的存储方式是页式或段页式,可以查询系统表。当前仅支持页式。 示例: gaussdb=# SELECT * FROM gs_global_config WHERE name LIKE '%undostoragetype%'; name
toast_table用于控制线外存储结构。“enable_enhance_toast_table=on”表示使用Enhanced Toast线外存储表,“enable_enhance_toast_table=off”表示使用Toast线外存储表。 gs_guc reload -D
回滚段管理 每个undo zone除了管理部分transaction page(用于存储事务回滚的元数据)外,还管理undo page。 Undo页面中存储undo row,对数据的修改会将历史版本记录到Undo中。 Undo记录也是数据,因此对Undo页面的修改同样会记录Redo。
回滚段管理 每个undo zone除了管理部分txn page外,还管理undo page。 Undo页面中存储undo row,对数据的修改会将历史版本记录到Undo中。 Undo记录也是数据,因此对Undo页面的修改同样会记录Redo。 父主题: Undo
RCR UBTree RCR UBTree多版本管理 RCR(Row Consistency Read) UBtree的多版本管理是基于数据行的行级多版本管理,将XID记录在了数据行上,会增加Key的大小,索引会有5-20%左右的膨胀。最新版本和历史版本均在btree上,索引没有
回滚段管理 图1 回滚段管理 每个undo zone除了管理部分transaction page(用于存储事务回滚的元数据)外,还管理undo page。 Undo页面中存储undo row,对数据的修改会将历史版本记录到Undo中。 Undo记录也是数据,因此对Undo页面的修改同样会记录Redo。
PCR UBTree 相比于RCR版本的UBTree,PCR版本的UBTree有以下特点。 索引元组的事务信息统一由TD槽进行管理。 增加了Undo操作,插入和删除前需要先写入Undo,事务abort时需要进行回滚操作。 支持闪回。 PCR UBTree通过在创建索引时with选
toast_table用于控制线外存储结构。“enable_enhance_toast_table=on”表示使用Enhanced Toast线外存储表,“enable_enhance_toast_table=off”表示使用Toast线外存储表。 gs_guc reload -Z
UB-tree空间管理 当前Astore的索引依赖AutoVacuum和Free Space Map(FSM)进行空间管理,存在回收不及时的问题,而Ustore的索引使用其特有的URQ(UB-tree Recycle Queue,一种基于循环队列的数据结构,即双循环队列),对索引
UB-tree空间管理 当前Astore的索引依赖AutoVacuum和Free Space Map(FSM)进行空间管理,存在回收不及时的问题,而Ustore的索引使用其特有的URQ(UB-tree Recycle Queue,一种基于循环队列的数据结构,即双循环队列),对索引
PbPCR Heap可见性机制 当前仅支持行一致性读,后续支持CR页面构建以及页面一致性读,大大提升seqscan的效率。 数据删除事务提交即可复用空间,无需等待oldestxmin的推进,空间利用率更高,老快照可通过Undo记录获取历史版本。 父主题: Relation
UB-tree增删改查 Insert操作:UB-tree的插入逻辑基本不变,只需增加索引插入时直接获取事务信息填写xmin字段。 Delete操作:UB-tree额外增加了索引删除流程,索引删除主要步骤与插入相似,获取事务信息填写xmax字段(B-tree索引不维护版本信息,不需要删除操作)
解析文件1663_13113_17603_0.page中存储了ToastPointer的相关信息,具体如下: Toast_Pointer: column_index: 1 toast_relation_oid: 17608 --线外存储表OID信息 ctid: (4, 1)
PbPCR Heap可见性机制 当前仅支持行一致性读,后续支持CR页面构建以及页面一致性读,大大提升seqscan的效率。 数据删除事务提交即可复用空间,无需等待oldestxmin的推进,空间利用率更高,老快照可通过Undo记录获取历史版本。 父主题: Relation
UB-tree增删改查 Insert操作:UB-tree的插入逻辑基本不变,只需增加索引插入时直接获取事务信息填写xmin字段。 Delete操作:UB-tree额外增加了索引删除流程,索引删除主要步骤与插入相似,获取事务信息填写xmax字段(B-tree索引不维护版本信息,不需要删除操作)
Enhanced Toast增删改查 Insert操作:触发Enhanced Toast的写入条件保持与原有Toast一致,除了数据写入时增加了数据间的链接信息之外,插入基本逻辑保持不变。 Delete操作:Enhanced Toast的数据删除流程不再依赖Toast数据索引,仅
解析文件1663_13113_17603_0.page中存储了ToastPointer的相关信息,具体如下: Toast_Pointer: column_index: 1 toast_relation_oid: 17608 --线外存储表OID信息 ctid: (4, 1)
Enhanced Toast增删改查 Insert操作:触发Enhanced Toast的写入条件保持与原有Toast一致,除了数据写入时增加了数据间的链接信息之外,插入基本逻辑保持不变。 Delete操作:Enhanced Toast的数据删除流程不再依赖Toast数据索引,仅
DROP TABLE 分区表merge操作 支持将分区表的分区间不同的线外存储表类型进行合并操作。 对于相同类型的线外存储分区,合并与原有逻辑保持一致,进行物理合并。 对于不同类型的线外存储分区,合并后的分区线外存储表为Enhanced Toast表,需要进行逻辑合并,性能劣于物理合并。
DROP TABLE 分区表merge操作 支持将分区表的分区间不同的线外存储表类型进行合并操作。 对于相同类型的线外存储分区,合并与原有逻辑保持一致,进行物理合并。 对于不同类型的线外存储分区,合并后的分区线外存储表为Enhanced Toast表,需要进行逻辑合并,性能劣于物理合并。