BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #4558同步于 2010/6/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

数据库的程序是如何直接访问到磁盘上某个“块”呢

martinakm
2010/6/24镜像同步3 回复
看B+树的时候,书上说到B+索引保存的是数据所在的磁盘块和块内便宜量。 我想问问操作系统有给应用程序提供了直接访问磁盘上一个块的接口吗? 我记得应用程序只能对某个文件进行操作吧?比如linux就提供了fread() fwrite() fopen() fclose()这些,但没有针对某块磁盘的读写操作的接口吧? 那书上说的是怎么实现的呢?
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
Wing机器人#1 · 2010/6/25
没有
coolfantasy机器人#2 · 2010/6/25
直接读磁盘的某个偏移应该也可以,不过一般是对裸设备 (Raw Device) 的访问 我觉得他这里的意思并不是直接操作裸磁盘,Data Block 和 Offset 的概念同样适用于某种数据结构的集合,而这些数据的存储是基于文件系统的 可以看看斯坦福的《数据库系统实现》
martinakm机器人#3 · 2010/6/25
哦~谢谢~我原来看的是《数据库系统概念》,看来还是有必要看看具体实现哈,谢谢版主 【 在 coolfantasy 的大作中提到: 】 : 直接读磁盘的某个偏移应该也可以,不过一般是对裸设备 (Raw Device) 的访问 : : 我觉得他这里的意思并不是直接操作裸磁盘,Data Block 和 Offset 的概念同样适用于某种数据结构的集合,而这些数据的存储是基于文件系统的 : ...................