sbspace 类似于 blobspace ,除了它拥有智能大对象外。
当 sbspace 在数据库创建时,它包含一个 sbspace 描述符。每个 sbspace
chunk 包含以
下结构:
Sbspace chunk 描述符
Chunk 可用页列表
Sbspace元数据区域(每个 chunk 最多一个)
保留数据区域(每个 chunk 最多两个)
用户数据区域(每个 chunk 最多两个)
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 272 -
为了获得最佳性能,建议元数据区域位于 sbspace 的中间。数据库服务器自动将元数据区
域置于正确的位置。然而,要指定元数据区域的位置,请在 onspaces 命令中指定 -Mo 标
志。
如果您未在 onspaces 命令的 -Ms 标志中指定元数据区域的大小,
那么数据库服务器使用
AVG_LO_SIZE 的值
(缺省值为 8千字节)
计算元数据区域的大小、
有关更多信息,
请参阅 使
用 -Df 选项创建 sbspace 。
正常情况下,可以让系统计算元数据的大小。如果想要估计元数据区域的大小,请参阅
GBase 8s 性能指南 中的 表性能注意事项 一章。
图 1 图说明了 sbspace 中 chunk 的结构,它是在 sbspace 创建之后立即显示的,每个
保留区域可以分配给用户数据或元数据区域。保留其总是在 chunk 的用户数据区域中。
图: 一个简单的 sbspace chunk
由于 图 1 图中的 chunk 是 sbspace 的一个 chunk ,
所以它包含一个 sbspace 描述符。
chunk 1 中的 chunk 描述符 tblspace 包含有关 chunk 1 和其后添加到 sbspace 中的所
有块的信息。
元数据区域的结构
每个 sbspace 包含在其中 chunk 的元数据区域。
对于 chunk 头页,四个区域专用于 sbspace 中的第一 chunk :Sbspace 描述符
tblspace 、chunk 附件 tblspace 以及 1 级 和2 级压缩文档 tblspaces。Tblspace 头
部分包含这些 tblspace 中的每一个 tblspace 头(特别的,tblspace
tblspace 除外)。
图 1 显示了单块 sbspace 中元数据的布局。
图: 单个 chunk sbspace 的元数据区域结构
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 273 -
在 oncheck -ps 选项中指定 Sbspace 名称时,可以显示分配并用于元数据区域中的每个
tblspace 的页数。
以下内容描述元数据区域是如何增长的:
sbspace 描述符 tblspace 不增长。
chunk 附件 tblspace 在添加 chunk 时增长。
LO 头 tblspace 在添加 chunk 时增长。
如果 chunk 中的可用空间已大量分片,
那么用户数据可用列表的 tblspace 增长。
sbpage 结构
每个 sbpage 由三个元素组成:sbpage 头、实际用户数据和 sbpage 跟踪器。 图 1 图显
示了 sbpage 的结构。Sbpage 头由标准页头构成。sbpage 跟踪器用于检测页上的不完全
写入和检测页毁坏。
图: sbpage 结构