数据库系统概念7版:为何不直接利用操作系统存储结构

需积分: 0 0 下载量 65 浏览量 更新于2024-07-01 收藏 3.29MB PDF 举报
在《数据库系统概念》第七版中,第13章主要探讨了数据存储结构与操作系统在数据库管理系统(DBMS)中的角色。章节标题"Database System Concepts - 7th Edition DBMS (almost) always wants to control thin" 强调了DBMS倾向于控制底层存储和管理数据的倾向,即使操作系统(OS)提供了某些功能。 首先,13.2节讨论了为什么不在操作系统级别直接使用内存映射(mmap),将文件内容加载到进程的地址空间中。虽然OS负责数据在内存和磁盘之间的迁移,但mmap对于只读访问来说是可行的。然而,当涉及到多个线程同时访问mmap文件以隐藏页错误时,问题就复杂起来,因为这可能导致性能瓶颈,特别是对于写操作。mmap并不具备并发控制的高级特性,如加锁、脏页检测和延迟输出,这些都是DBMS为了更高效地管理数据而必须处理的问题。 13.3节进一步阐述了DBMS为何选择自我控制,尤其是在并发环境下的优势。DBMS可以更好地控制数据的I/O操作,比如按正确顺序刷新脏页(即已被修改但尚未写回磁盘的数据),以及实现专门的预读取策略。这些功能确保了数据一致性并减少了性能开销,这是操作系统本身无法提供的。 此外,DBMS能够针对特定的数据库应用进行优化,例如避免不必要的I/O操作,减少磁盘寻道时间,以及通过事务管理确保数据的一致性和完整性。这些特性使得DBMS在数据存储和管理上更具灵活性和效率。 总结来说,尽管操作系统提供了基础的内存映射功能,但在数据库系统的设计中,DBMS出于性能、数据一致性和特殊需求的考虑,选择接管更多的控制权,以实现更精细的并发控制和优化的数据处理。这正是《数据库系统概念》第七版中这一章节的核心内容。