数据库在磁盘上的存储布局HeapFile
时间:2022-03-13 23:51
----《大规模分布式存储系统:原理解析与架构实战》读书笔记
Heap file和链表结构类似的地方:
像上图那样,索引单独存在一个page上。数据记录存在其他page上,如果有多个索引的page,则可以表示为:
下面是Heap file自有的一些特性:
其中N和P为文件的最开始的16(或32)个字节。即N和P实际保存的是两个long型的值。N表示文件中页的数目,P表示每页的大小。则:
从页首开始一条条记录。页尾用一个int整形记录剩余空间的偏移量,再用一个Int整形该页已存储的记录数,每一条记录在页中的偏移量和是否被删除的标记。
Note:我们在首部设置4个整型去存储三个字段的四个边界offset。
第三个offset和第四个offset指向同一个位置,那么就表明第三个字段的大小是零,即是一个NULL值。
可以看到,使用偏移量无论是Page的布局,还是记录的序列化,都是非常方便的。
根据以上介绍, 可以有以下推断:
参考
这里有一篇关于HeapFile的翻译
原文来自
欢迎光临--------。
如果阅读本文过程中有任何问题,请,转载请注明出处!