我正在学习DBMS的数据格式,发现我们有一个术语:页面。
页面是从外部存储(例如磁盘,SSD)中获取到主内存中的数据,当查询获取这些页面时,多个页面将首先“缓存”到低级缓存。
这让我想起了操作系统和计算机体系结构中使用的同一个术语页面。来自 Wiki 的关于此“分页”的一些正式描述是:
分页是一种内存管理方案,计算机通过该方案在辅助存储器中存储和检索数据以供在主内存中使用。在此方案中,操作系统从称为页面的相同大小块中的辅助存储中检索数据。分页是现代操作系统中虚拟内存实现的重要组成部分,使用辅助存储让程序超过可用物理内存的大小。
那么就到了第一个问题:
术语页面在 DBMS 和操作系统中是否具有相同的含义?
- 如果是的话,你能稍微解释一下问题2吗?
- 如果不是,你能解释为什么吗?他们有不同的实施方式吗?
更进一步:
- 在讲座中我们学习了N-ary Storage Model (NSM or slotted pages)和PAX (Partition Attributes Across) 参考了 Prof. Ailamaki 的这篇论文。假设页在DBMS 和OS 中具有相同的含义,为什么我们只在DBMS 中指定NSM 和PAX?这种页面格式可以移植到操作系统吗?(关于这篇论文会有帮助,你只需快速浏览数据布局和图表。)
问题 2是主要原因,我在这里提出问题并开始问自己,为什么 NSM、PAX 页面对于 DBMS 是特殊的。这个问题更笼统,并不关注任何特定的 DBMS。