DB Storage Structure

Storage Hierarchy存储层次结构

主存:最快,易失性

cache,主存

 

二级存储:非易失性,访问时间适中

闪存

 

闪存:可用于制造没有活动部件的驱动器

SSD,USB存储

 

Block Level Storage

Block: a logical unit for storage allocation and retrieval

 

Disk Structure

在每个块中,每个字节可以有自己的地址,称为偏移量

 

存取(读/写)块的时间

访问时间:从发出读取或写入请求到开始数据传输所花费的时间

 

访问方式

顺序访问模式

随机访问模式

 

Arranging Blocks on Disk

最快读取下一个磁盘块

按磁盘上的“下一个”顺序排列文件块

 

数据库文件

数据库存储为数据库文件的集合

块/页面是数据存储的基本单位

磁盘I / O操作在块/页面级别执行

 

Fixed Length Records固定长度记录

所有记录大小是固定的

每个记录具有相同的字段,并且字段长度是固定的

系统可以识别每个字段相对于记录起始位置的起始字节位置

 

Variable Length Records可变长度记录

我们不知道某些字段值的确切长度

确定代表每个字段的特定记录中的字节

 

数据库中的文件组织

堆文件组织

file顺序文件组织

B+树文件组织

Hash文件组织

 

堆文件组织(Heap File Organization)

记录可以放置在文件中任何有可用空间的地方

没有记录的顺序

一旦数据块已满,下一条记录将存储在新块中

记录一旦分配通常不会移动

找到记录的时间:假设有b个块,平均而言,找到记录时将访问(b / 2)个块,而找不到记录时将访问b个块

插入记录:对于堆文件组织,我们通过添加到现有记录来插入添加记录

删除记录:

第一种方法,删除记录后,将其后的记录移到以前由删除的记录占用的空间中,依此类推,需要移动大量记录

第二种方法,将文件的后续记录从已删除记录所占用的空间开始插入

 

第三种方法,保留已删除记录所占用的空间,并等待下一次插入,然后再使用该空间

优缺点

适合批量插入,只需将一个接一个地插入存储块即可

随着文件大小的增加,线性搜索记录变得很耗时

 

顺序文件

组织/排序记录

根据“搜索关键字”的值,记录按顺序存储

插入和删除记录时维护物理顺序的成本很高

使用指针将搜索顺序中的记录链接在一起

定期重新排序,以便以与物理顺序匹配的顺序存储记录

posted @ 2020-11-11 14:59  Heinrich♣  阅读(169)  评论(0编辑  收藏  举报