数据库原理与应用10506.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理与应用 第六章 数据存储与查询优化 第六章 数据存储与查询优化 物理存储 索引结构 查询处理过程 代数优化 物理优化 物理存储介质 现代计算机体系结构中存在着多种存储介质,按照容量、访问速度等技术指标又可分为三级,组成一个典型的金字塔结构 挥发性和持久性介质 内存等一级存储介质只在系统运行时保存数据,一旦断电,数据全部丢失,称为挥发性介质 磁盘、磁带等二、三级存储介质则在断电之后仍能保持数据的有效性,称为持久性介质 数据库中的数据必须长时间的保存,即使系统关闭也不应该影响数据库中数据的有效性。因此,数据库中的数据必须存储在二、三级持久性介质中 磁盘 磁盘又称为硬盘,磁盘属于第二级存储,为持久性介质,是数据库的典型存储介质 一个磁盘中包含一个或多个盘片,这些盘片由金属或玻璃等刚性介质制成,表面涂有磁性介质用来记录数据 一个盘片有上下两个盘面,可以都用来记录数据,也可以只用一个面来记录数据 对每一个用来记录数据的盘面都有一个磁盘臂,其末端的读写头通过感应或改变盘片的局部磁性来读取或写入磁盘中的数据 磁盘(续) 一个盘面被划分为多个间距很小的同心圆,这些同心圆被称为磁道(track),不同盘面上有相同直径的磁道构成一个柱面(cylinder) 磁道又可以进一步分为多个扇区(sector),现有的磁盘中一个扇区的典型容量是512字节 在工作状态时,磁盘轴带动盘片以恒定的速度旋转 磁盘与操作系统之间的交互是通过磁盘控制器完成的 磁盘结构 磁盘I/O的性能 读写磁盘数据时,磁盘内部需要进行以下的一系列动作 移动磁盘臂,直到读写头位于数据所在磁道的正上方 通过盘片旋转,使得读写头位于所读写数据的正上方 读写头读取或写入数据 磁盘进行一次数据读写操作的时间由三部分组成 第一部分是移动磁盘臂所用的时间,称为寻道时间,典型值为几毫秒 第二部分是旋转盘片所用的时间,称为旋转时间,典型值为5-10毫秒 第三部分是读写数据所用的时间,称为传输时间,典型值为几到几十MB每秒 磁盘读写的优化 磁盘臂调度的目的是通过规划多个数据读写请求的服务顺序来减少读写头的总移动距离,从而缩短读写磁盘的平均寻道时间。一种常用的磁盘臂调度算法是电梯算法 无论读写的数据量多大,由寻道时间和旋转时间带来的额外消耗都是一定的,因此读写少量数据时的效率就比读写大量数据时的效率低得多 基于计算机系统中的局部性原理,在磁盘与操作系统之间的数据交互过程中广泛使用数据预取技术,即在读取指定数据的同时也预先读取与其相邻的一定范围内的数据 典型的数据预取技术是数据的按块传输,块是一个逻辑单位,即一个磁盘从逻辑上被划分多个连续的块。目前典型的块大小在1KB-8KB之间 缓冲管理 在系统内存中开辟一块专用空间,称为缓冲区,用来缓存经常需要访问数据 DBMS中用来对缓冲区进行管理的模块就称为缓冲区管理器 当DBMS的其它模块需要读取数据时,它们向缓冲区管理器发出请求 缓冲区管理器首先查看需要读取的数据是否在缓冲区中,如果在,则缓冲区管理器直接返回缓冲区中的数据,从而免除了进行磁盘I/O的代价 如果在缓冲区中找不到指定数据时,则缓冲区管理器先从磁盘将数据读入缓冲区,然后返回给请求者 缓冲区管理器 缓冲区中的内容被划分为多个块,块大小与磁盘块一致。为了对缓冲区进行有效管理,需要为每个缓冲块记录以下内容: 空闲位 脏位,在读入之后被修改过的缓冲块称为脏块 pin值:pin值有两个功能,一是防止缓冲区管理器替换出正在处理的块,二是可以指定某些块常驻内存。缓冲区在选择被替换的块时,如果发现某缓冲块的pin值不为0,则不会将它替换出去。 提供强制写出脏的缓冲块的功能,这是为了保证数据的持久化存储。一种典型情况是系统关闭时需要强制写出所有脏的缓冲块,另外为了数据库恢复的需要也要强制写出脏的缓冲块 缓冲区替换策略 缓冲区通常不足以容纳数据库中的所有数据,在需要读入新的数据时,可能出现缓冲区已满的情况,这时缓冲区管理器就要选择一个缓冲块替换出去 如何选择被替换的缓冲块将影响到数据库运行过程中进行磁盘I/O的频率,一个好的缓冲区替换策略应该能够减少磁盘I/O,提高数据库的性能 LRU(Least Recently Used)替换策略的基本思想是:系统未来对数据的访问情况可由系统过去的访问情况预期,即如果一个数据块在过去很少被访问,则将来也不太可能被访问,因此在缓冲区满时可考虑将其替换出去,反之,如果一个数据块在过去经常被访问,则将来也很有可能会被再次访问,因此不应将其替换出去 LRU替换策略 记录的存储 数据库的数据通常按记录的形式加以组织,记录又由一到多个字段组成 有些类型,如整型、浮点型、定长字符串和日期类型等,无论具体的值是什么,占用的存储空间都是一样的,称为定长类型 另一些类型,如变长

您可能关注的文档

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档