本节内容
- 数据库文件存储
- 文件结构
- 索引
数据库存储
块(Block):将每个数据库文件分成定长的(4-8KB)存储单元,称为块。
数据在磁盘和主存之间以块(Block)为单位传输。块是存储分配和数据分配的基本单元。
缓存中的块替换策略:与组成和操作系统不同,数据库常用MRU算法(Most recently used,最近最多使用)。即每次替换都选择最近最常使用的块,将其替换掉(但是正在使用的块不会被替换)。
其他知识参考《组成》有关内容:计算机组成知识点 - 辅助存储器,I/O设备与系统 - 辅助存储器种类与技术指标,磁盘存储器
文件组织
1、定长记录
2、变长记录的基本方法:添加终止记录来标志记录的结束。删除、更新困难。
3、变长记录:分槽页的结构(Slotted Page Method)
文件中记录的组织
- Heap File 堆文件 Organization (无序)
- Sequential File 顺序文件 Organization (按照 search key 的值顺序存储)
- Hashing File 散列文件 Organization (hash函数)
- 多表聚集文件组织:将经常连接的表(关系、记录)存储在同一个文件中
数据字典
元数据:“关于数据的数据”。数据库系统中维护的关于关系的数据。
数据字典(系统目录):关于关系的关系模式和其他元数据存储的结构。
数据字典常驻缓存。
索引
- 优点:提高查询速度,减少磁盘I/O。
提高查询速度的原因:索引中搜索码有序排列;使用了B树。 - 缺点:降低了增删改的速度(因为需要修改索引文件),维护索引需要更高的代价。
索引作用:顺序访问;直接访问;存在性检查。
- 稠密索引:文件中的每个搜索码都有一个索引项。更快,但空间开销大。
- 稀疏索引:只为搜索码的某些值建立索引项。只有当关系按搜索码排列顺序存储时才可用稀疏存索引。占用空间小。
About this Post
This post is written by Holger, licensed under CC BY-NC 4.0.