存储管理器:负责数据的存储、检索和更新。
什么是存储管理器
数据的存储、检索和更新。
数据库的数据是怎么存储在磁盘上的?那肯定最后还是以二进制“010101”的形式存储的。那么数据库系统怎么从磁盘上读取这些数据,又怎么才能通过我们输入的DML(SELECT,DELECT,UPDATE等)对数据库进行查询,存储和更改呢?
存储管理器(storage manager)是数据库系统中负责在数据库中存储的底层数据与应用程序,以及向系统提交查询之间提供接口的部件。
这是比较官方的说法。用人话讲,存储管理器首先负责的肯定是存储。它通过操作系统的文件系统,将原始数据存储在磁盘上。同时存储管理器还要将各种DML语句翻译成底层文件系统命令,再对原始数据进行查询。
总的来说,存储管理器负责数据的存储,检索和更新。
存储管理器的部件
四大部件和三种数据结构
存储管理器部件包括:
- 权限及完整性管理器(authorization and integrity manager)
- 检测是否满足完整性约束,以及试图访问数据的用户的权限。
- 事务管理器(transaction manager)
- 即使系统故障,数据库也保持一致性状态,并保证并发事务的执行不发生冲突。
- 文件管理器(file manager)
- 管理磁盘存储空间的分配和管理表示在磁盘上所存储信息的数据结构。
- 缓冲区管理器(buffer manager)
- 将磁盘中的数据读取到内存中,并决定哪些数据应该被缓冲存储在内存中。
同时,存储管理器还实现了三种数据结构
- 数据文件(data file)
- 存储数据库自身
- 数据字典(data dictionary)
- 存储关于数据库结构的元数据,特别是数据库模式(schme)
- 索引(index)
- 提供对数据项的快速访问。和书的目录索引一样,数据库的索引提供了对包含特定值的数据项的指针。