openGauss数据库段页式与代码走读
一些概念
段页式存储是一种在数据库系统中常见的存储管理方式,它将数据库中的存储空间按照一定的规则组织成不同的段(segments)来进行管理。所有的表都在一个文件中,解决文件句柄过多,磁盘存在上限等问题。
扩展区块(Extent)(物理概念)
一段连续的物理存储空间,用于存放存放部分数据的容器。一共有四种尺寸64K、1M、8M、64M。正好在段空间内的2 3 4 5文件内存放。里边存放的就是page。
段页式存储文件(段空间)(物理概念)
[carrot@dev-openeuler-arm 15797]$ ll
total 147M
-rw------- 1 carrot carrot 128M Feb 23 11:02 1
-rw------- 1 carrot carrot 128M Feb 23 11:02 2
-rw------- 1 carrot carrot 128M Feb 23 11:02 2_fsm
-rw------- 1 carrot carrot 128M Feb 23 11:02 3
-rw------- 1 carrot carrot 128M Feb 23 11:02 3_fsm
-rw------- 1 carrot carrot 128M Feb 23 11:02 4
-rw------- 1 carrot carrot 128M Feb 23 11:02 4_fsm
-rw------- 1 carrot carrot 128M Feb 23 11:02 5
-rw------- 1 carrot carrot 128M Feb 23 11:02 5_fsm
-rw------- 1 carrot carrot 4.0K Feb 23 10:59 pg_filenode.map
-rw------- 1 carrot carrot 4.0K Feb 23 10:59 pg_filenode.map.backup
-rw------- 1 carrot carrot 4 Feb 23 10:59 PG_VERSION