AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 226013
Accepted
Jigao
Jigao
Asked: 2018-12-31 02:44:35 +0800 CST2018-12-31 02:44:35 +0800 CST 2018-12-31 02:44:35 +0800 CST

术语“页面”在 DBMS 和操作系统术语中具有相同的含义吗?

  • 772

我正在学习DBMS的数据格式,发现我们有一个术语:页面。

页面是从外部存储(例如磁盘,SSD)中获取到主内存中的数据,当查询获取这些页面时,多个页面将首先“缓存”到低级缓存。

这让我想起了操作系统和计算机体系结构中使用的同一个术语页面。来自 Wiki 的关于此“分页”的一些正式描述是:

分页是一种内存管理方案,计算机通过该方案在辅助存储器中存储和检索数据以供在主内存中使用。在此方案中,操作系统从称为页面的相同大小块中的辅助存储中检索数据。分页是现代操作系统中虚拟内存实现的重要组成部分,使用辅助存储让程序超过可用物理内存的大小。


那么就到了第一个问题:

  1. 术语页面在 DBMS 和操作系统中是否具有相同的含义?

    • 如果是的话,你能稍微解释一下问题2吗?
    • 如果不是,你能解释为什么吗?他们有不同的实施方式吗?

更进一步:

  1. 在讲座中我们学习了N-ary Storage Model (NSM or slotted pages)和PAX (Partition Attributes Across) 参考了 Prof. Ailamaki 的这篇论文。假设页在DBMS 和OS 中具有相同的含义,为什么我们只在DBMS 中指定NSM 和PAX?这种页面格式可以移植到操作系统吗?(关于这篇论文会有帮助,你只需快速浏览数据布局和图表。)

问题 2是主要原因,我在这里提出问题并开始问自己,为什么 NSM、PAX 页面对于 DBMS 是特殊的。这个问题更笼统,并不关注任何特定的 DBMS。

terminology dbms
  • 1 1 个回答
  • 1198 Views

1 个回答

  • Voted
  1. Best Answer
    Sean Gallardy
    2019-01-01T10:44:10+08:002019-01-01T10:44:10+08:00

    术语页面在 DBMS 和操作系统中是否具有相同的含义?

    一般来说,是的。该术语PAGE是最小可分配空间单元的通用术语。例如,在 SQL Server 中,页面的大小是固定的,过去一直是 4k 和 8k,具体取决于版本(不包括虚拟内存而非数据库结构的大页面),而在 Windows 中,页面可以有多种大小,具体取决于选项和底层硬件。

    假设页在DBMS 和OS 中具有相同的含义,为什么我们只在DBMS 中指定NSM 和PAX?这种页面格式可以移植到操作系统吗?

    我没有阅读整篇论文,因为它也重载了同一个术语。请注意,硬件和底层操作系统可能会改变PAGE大小,但不会改变一般含义。它的使用非常繁重,TBH 你可以在你自己的操作系统中做任何你想做的事情。

    这有点过于笼统和高层次,无法真正“回答”本身,“答案”将取决于硬件和软件并且是特定的。您可能想稍微缩小您的关注范围并提出一个更尖锐的问题,因为恕我直言,这是一个非常广泛的问题。

    编辑:

    您还提到了 SSD,它也有一个单元(讽刺)令人震惊PAGE地依赖于存储控制器和固件。一些 SSD 使用 1MB 或更多的页面,一些更小。

    通常,当我们谈论“低级缓存”时,通常指的是数据或代码缓存,通常称为行或段,而不是页面。

    也许还有一个问题。在哪里以及如何从 SQL 服务器找到页面大小或页面格式的文档或实现?任何特定的 DBMS 或 SQL 服务器都会让我高兴。

    SQL Server 在此记录体系结构。这是固定的,无法更改。

    Windows 页面大小(不要与页面文件混淆)可以通过调用GetSystemInfo(Windows API)找到,它将填充一个_SYSTEM_INFO结构,该结构有一个名为的成员dwPageSize,它将告诉您系统的当前页面大小 - 这应该仍然是在撰写本文时为 4k。

    • 7

相关问题

  • 根据数据库完整性的数据有效性和准确性

  • 在 SQL 中,它是复合键还是复合键?

  • 什么是残差谓词?

  • “‘连接’表”是否与弱实体相同?

  • 软件工程师和 DBA [关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve