ITPub博客

首页 > 数据库 > 国内数据库 > 一文读懂南大通用GBase 8s数据库的Chunk Free List运作机制1

一文读懂南大通用GBase 8s数据库的Chunk Free List运作机制1

原创 国内数据库 作者:GBASE南大通用 时间:2025-04-18 16:01:03 0 删除 编辑

在数据库管理中空间分配和回收是确保数据高效存储的关键操作。GBase 8s数据库系统通过其独特的Chunk Free List机制,精确地追踪每个chunk中的可用空间。下面我们就来了解这一机制的工作原理和重要性。

chunk free-list 概述

每个chunk都需要一种机制来跟踪其自身的可用空间。在每个chunk中的最后一个保留页面之后是chunk free list page。根据chunk中的碎片,该页面可以是多个页面中的一个,它包含指向未使用数据块的结构。每个结构或自由列表条目都包含两个元素:未声明范围的起始页和以页为单位测量的自由范围的长度。

chunk free list的布局如下图:

影响chunk free list的操作

1、分配空间

当在chunk中分配extent 时,可用空间的损失表现为从chunk free list中删除条目,或者修改条目中的一个或两个元素。

2、释放空间

当表被删除时,或者在某些情况下当表被更改时,ids 会释放空间。当回收可用空间时,可以将新条目添加到区块空闲列表中。如果新释放的空间与现有的空闲空间相邻,则仅改变相关联的空闲列表条目中的长度元素;否则,将创建一个新条目。

附加的chunk free list page

如果一个chunk 变得如此碎片化,以至于初始的chunk 空闲列表页面充满了条目,则会分配一个额外的chunk free list page。然后,这些页面以链接列表的形式链接在一起。这个链中的每个链接只负责其自身和下一个chunk空闲列表页之间的扩展。这种设计需要在各个环节之间进行良好的协调。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979120/viewspace-3081766/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
GBASE南大通用,致力于成为用户最信赖的数据库产品供应商!

注册时间:2020-07-16

  • 博文量
    1319
  • 访问量
    1303056