- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.5 记录表示格式(图4.11) 4.5.1 定长记录的字段表示 4.5.2 变长记录的字段表示 (一)预留空间技术 (二)采用特殊字符结尾来实现变长字段 (三)采用偏移数组来实现变长字段 4.5.3 跨页记录管理技术 跨页记录存在的原因至少有两个: 记录中存在大型或巨型字段; 出于节省存储空间的需要。虽然记录大小不超过1页,但为了利用页内零头空间,也会导致跨页记录。 跨页记录会被分割并分存到多个页中,故需要在各页中使用指针把它们链接在一起,形成单个记录的页链。 4.5.4 巨型字段/对象管理技术 一些应用可能包含非常大的巨型对象。 例如,一个多媒体对象可能占用几个MB的空间;一个视频序列,可能达几个GB。 在RDB中,巨型字段也称为长字段。可使用BLOB等专门字段型来存储巨型对象. ODB可以直接管理巨型对象。 大多数RDB限制记录的大小不超过1页,以简化缓冲区和空闲空间的管理。对超过一个页的大对象或长字段,一般采用如下两种管理方法: 用跨页记录存储技术; 将它们单独存储在一些文件或文件集中。 4.5.5 指针字段管理技术:指针混写(1) 指针或地址经常是记录的一部分。 当DB系统运行时,数据页允许在主存和辅存之间移动,故指针所指向的目标页/记录,在特定时间,既可能在辅存,也可能在主存。相应地,指针或地址也就有两种形式: 内存地址 数据库地址,也称持久化指针。是一种在辅存DB空间地址--通常是一个逻辑地址。 通过DB系统的“逻辑/物理地址映射表”,可将其映射为实际磁盘物理块地址。 4.5.5 指针字段管理技术:指针混写(2) 根据给定的指针或地址寻找目标对象的过程,称为解引用(dereference)。 C++内存指针引用语法:*指针名 给定一个持久化指针,解引用一个对象需要额外的步骤: 须通过 “转换表” 查找持久化指针所代表对象在内存中的实际位置。 如对象不在内存,则要从磁盘读入,同时要修改转换表,并将存放该持久指针的内存单元,直接修改为目标对象的内存位置指针。 下一次同一持久化指针再次被解引用时,就可以直接使用内存引用,从而可避免重复转换内存地址的过程开销。 当对象被写回磁盘时,它所包含的任何被混写持久化指针必须执行反混写, 与内存指针解引用相比,通过转换表实现解引用仍是一个慢过程。 指针混写的时机选择 自动混写;按需混写;不混写;程序控制 4.6 DB元信息及其存储管理 在RDB系统,除了关系,还需要维护关于整个DB的元描述数据,如关系的模式等。这类元信息称为数据字典(data dictionary)或系统目录(system catalog)。系统需存储的元信息类型有: 关系的模式(关系名、每个属性名字/类型/长度)。 在DB上定义的视图名字和视图定义。 完整性约束。 授权名、认证密码等关于用户帐户的信息。 当前关系实例的统计/描述数据。如每个关系中的元组总数,或各字段取值的统计直方图信息等描述信息。 …… 实际上,所有这些信息组成了一个微型数据库 4.7 缓冲区管理 4.7.1 DB缓冲池与缓冲区管理器 4.7.2 缓冲区置换策略 4.7.3 DBMS与OS的缓冲区管理对比 DB缓冲池与缓冲区管理器 DB缓冲池 DBMS系统一般都拥有一个专用于处理页读写的、称为DB缓冲池的主存区。 该主存区被按页大小划分为一个个页槽(简称页面框,frame) 。 为叙述方便,有时也常简单使用‘可用主存’、‘缓存’、‘缓冲区’、‘主存缓冲区’等名词称谓DB缓冲池。 缓冲区管理器 指DBMS中专门负责管理DB缓冲池的软件模块。 缓冲区置换策略 当新页请求发生且没有空闲缓冲页时,决定替换缓冲区哪些页的策略。 缓冲区管理器响应高层页请求的基本过程 检查缓冲池中是否存在该页,如不在,则进一步执行以下一些操作。 基于置换策略,选择一个可被置换的frame,将其的pin_count计数加1。 如果该frame中原先页被修改过(dirty=1),则将原先页写回磁盘。 从磁盘读入新请求页到该frame中,同时置dirty=0。 返回包含请求页的frame地址给请求者。 几种常用的缓冲区置换策略简介 LRU(least recently used) 它选择最近最久未使用的页予以淘汰。 2. 时钟置换策略 3. FIFO(first in first out) FIFO总是选择最早进入主存的页作为下一个置换页,不能反映页面的使用情况,通常效果较差。 4. MRU(most recently used) MRU策略则刚好与LRU相反,选择最近刚被用过的页予以淘汰。 LOGO 第2部分 关系数据库系统实现 第4章 数据存储和组织管理 高级数据库系统及其应用 第4章 数据存储和组织管理 物理存储介质 4.1 磁
文档评论(0)