数据库系统实现
1. 存储管理
存储管理模块为底层数据与查询语句之间提供交互的接口。该模块与操作系统的文件系统进行交互。它将各种DML语句翻译成底层的文件系统的指令。它的职责在于数据库的存储、查询与更新。存储管理模块有以下几个部件组成:
- 权限与一致性管理器(Authorization and integrity manager):该模块用于检查数据一致性约束以及用户的权限。
- 事务管理器(Transaction manager):该模块用于保证数据库的一致状态。它确保数据库的数据在系统崩溃时依然能保持一致性,还要确保并发的事务同时执行时不会发生冲突。
- 文件管理器(File Manager):该模块用于管理磁盘空间的分配以及存储在磁盘上的,用于表示信息的数据结构。
- 缓冲管理器(Buffer Manager):该模块用于将磁盘上的数据读入内存并决定那些数据要读入到内存中。它是数据库的关键模块,因为它能让数据库管理比内存容量还要多的数据。
存储管理器使用了以下几种数据结构来完成系统的物理实现:
- 数据文件(Data File):用于存储数据库本身
- 数据字典(Data Dictionary):用于存储元数据
- 索引(Indice):用于为数据项提供快速访问,类似于书中的目录。