第6章-数据库存储技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第6章-数据库存储技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 存储 技术 课件
- 资源描述:
-
1、6.1 6.1 数据库的物理存储介质数据库的物理存储介质6.2 6.2 文件组织文件组织6.3 6.3 文件中记录的组织文件中记录的组织6.46.4索引技术与散列技术索引技术与散列技术第第6 6章章 数据库存储技术数据库存储技术6.1.1 6.1.1 数据库的物理存储介质数据库的物理存储介质6.1.2 6.1.2 磁盘存储器及其结构磁盘存储器及其结构6.1 6.1 数据库数据库的物理存的物理存储储介介质质 如图如图6.16.1所示,计算机系统中的数据存储所示,计算机系统中的数据存储是按照层次组织的。顶层是主存储器,它是由是按照层次组织的。顶层是主存储器,它是由高速缓存储器和主存组合,提供数据的
2、快速访高速缓存储器和主存组合,提供数据的快速访问;接下来是第二级存储器,它是由磁盘等较问;接下来是第二级存储器,它是由磁盘等较慢的设备组成;第三级存储器是最慢的存储设慢的设备组成;第三级存储器是最慢的存储设备,如光盘和磁带等。与同样数量的磁盘相比,备,如光盘和磁带等。与同样数量的磁盘相比,主存的价格昂贵得多,而磁带却比磁盘更便宜。主存的价格昂贵得多,而磁带却比磁盘更便宜。因为数据库需要存储大量的数据,所以像磁盘因为数据库需要存储大量的数据,所以像磁盘和磁带这样较慢的存储设备在数据库系统中具和磁带这样较慢的存储设备在数据库系统中具有重要地位。主要的存储介质有:有重要地位。主要的存储介质有:6.1
3、.1 6.1.1 数据库的物理存储介质数据库的物理存储介质6.1.1 6.1.1 数据库的物理存储介质数据库的物理存储介质CPU高速缓存主存磁带磁盘数据请求满足请求的数据主存储器第二级存储器第三级存储器图6.1存储层次1.高速缓存高速缓存 高速缓冲存储器是最快最昂贵的存储介质。高速缓冲高速缓冲存储器是最快最昂贵的存储介质。高速缓冲存储器一般很小,它的使用由操作系统来管理。在数据库存储器一般很小,它的使用由操作系统来管理。在数据库系统中,我们将不考虑高速缓冲存储器的存储管理。系统中,我们将不考虑高速缓冲存储器的存储管理。2.主存主存 主存又称内存或主存储器,用于存放可被处理的数据,主存又称内存或
4、主存储器,用于存放可被处理的数据,它是计算机机器指令执行操作的地方。由于其存储量小它是计算机机器指令执行操作的地方。由于其存储量小(一般以(一般以MB为单位)、成本高、存储时间短,而且发生为单位)、成本高、存储时间短,而且发生电源故障或者系统崩溃时,里面的内容一般会丢失,因此电源故障或者系统崩溃时,里面的内容一般会丢失,因此它在数据库中仅作为数据存储的辅助实体,如作为工作区它在数据库中仅作为数据存储的辅助实体,如作为工作区(work area)(数据加工区数据加工区)、缓冲区(、缓冲区(buffer area)(磁磁盘与主存的交换区盘与主存的交换区)等。等。6.1.1 6.1.1 数据库的物理
5、存储介质数据库的物理存储介质3.快闪存储器快闪存储器 也叫电可擦可编程只读存储器(也叫电可擦可编程只读存储器(EEPROM)。快)。快闪存储器不同于主存储器的地方是在电源故障发生时闪存储器不同于主存储器的地方是在电源故障发生时数据可被保存下来。从快闪存储器读数据的时间小于数据可被保存下来。从快闪存储器读数据的时间小于100纳秒,大致等于从主存储器中读数据的时间。然纳秒,大致等于从主存储器中读数据的时间。然而,向快闪存储器写数据是非常复杂的而,向快闪存储器写数据是非常复杂的数据写入数据写入一次,大约需要一次,大约需要410微秒,而且数据不能被直接覆盖。微秒,而且数据不能被直接覆盖。要想覆盖已经被
6、写过的快闪存储器,必须一次性擦除要想覆盖已经被写过的快闪存储器,必须一次性擦除整个快闪存储器,然后它才可以再被写入一次。快闪整个快闪存储器,然后它才可以再被写入一次。快闪存储器的另一个缺点是它只支持有限的擦除次数,其存储器的另一个缺点是它只支持有限的擦除次数,其范围从范围从100001百万。在低成本计算机系统中,例如百万。在低成本计算机系统中,例如在嵌入至其他设备的计算机系统中,快闪存储器作为在嵌入至其他设备的计算机系统中,快闪存储器作为磁盘的替代物来存储少量数据(磁盘的替代物来存储少量数据(5MB10MB)已经非)已经非常流行。常流行。6.1.1 6.1.1 数据库的物理存储介质数据库的物理
7、存储介质4.磁盘磁盘 磁盘存储器又称二级存储器或次级存储器。由于磁盘存储器又称二级存储器或次级存储器。由于它存储量大(一般以它存储量大(一般以GB为单位),能长期保存又有一为单位),能长期保存又有一定的存取速度且价格合理,因此早已成为数据库真正定的存取速度且价格合理,因此早已成为数据库真正存放数据的物理实体。通常整个数据库都存储在磁盘存放数据的物理实体。通常整个数据库都存储在磁盘上。为了能够访问到数据,必须将数据从磁盘移到主上。为了能够访问到数据,必须将数据从磁盘移到主存储器。完成操作后,被修改的数据必须写回磁盘。存储器。完成操作后,被修改的数据必须写回磁盘。磁盘存储器为直接存取存储器,因为在
8、磁盘上可以按磁盘存储器为直接存取存储器,因为在磁盘上可以按任意顺序读取数据(与顺序存取的存储器不同)。在任意顺序读取数据(与顺序存取的存储器不同)。在发生电源故障或者系统崩溃时,磁盘存储器不会丢失发生电源故障或者系统崩溃时,磁盘存储器不会丢失数据。数据。6.1.1 6.1.1 数据库的物理存储介质数据库的物理存储介质5.光盘光盘 光盘存储器最流行的形式是只读光盘(光盘存储器最流行的形式是只读光盘(CD-ROM)。)。数据通过光学方法存储在光盘上,并且可以被激光器读取。数据通过光学方法存储在光盘上,并且可以被激光器读取。用于用于CD-ROM存储器的光盘是不可写的,但是可以提供预存储器的光盘是不可
9、写的,但是可以提供预先记录的数据,并且可以装入驱动器或从驱动器中移走。先记录的数据,并且可以装入驱动器或从驱动器中移走。另一种光盘存储器是另一种光盘存储器是“一次写,多次读一次写,多次读”(WORM)光盘,)光盘,它允许写入数据一次,但是不允许擦除和重写这些数据。它允许写入数据一次,但是不允许擦除和重写这些数据。这种介质用于数据的归档存储。此外还有磁光结合的存储这种介质用于数据的归档存储。此外还有磁光结合的存储设备,可使用光学方法读取以磁方法编码的数据,并且允设备,可使用光学方法读取以磁方法编码的数据,并且允许对旧数据进行覆盖。许对旧数据进行覆盖。6.1.1 6.1.1 数据库的物理存储介质数
10、据库的物理存储介质6.磁带磁带 磁带具有较大的容量(从磁带具有较大的容量(从GB到到TB),价格便宜),价格便宜并可以脱机存放。因为磁带必须从头顺序存取,是一并可以脱机存放。因为磁带必须从头顺序存取,是一种顺序存取存储器,因此数据存取也比磁盘慢的多。种顺序存取存储器,因此数据存取也比磁盘慢的多。磁带一般用于存储磁盘或主存中的拷贝数据,它是一磁带一般用于存储磁盘或主存中的拷贝数据,它是一种辅助存储设备,也称为三级存储器。种辅助存储设备,也称为三级存储器。6.1.1 6.1.1 数据库的物理存储介质数据库的物理存储介质6.1.2 6.1.2 磁盘存储器及其结构磁盘存储器及其结构 由于磁盘是数据库数
11、据存储的主要物理存储体,因由于磁盘是数据库数据存储的主要物理存储体,因此本节主要介绍磁盘及其结构。此本节主要介绍磁盘及其结构。磁盘为现代计算机系统提供了大容量的辅助存储,磁盘为现代计算机系统提供了大容量的辅助存储,其存储容量极大,大约在几个其存储容量极大,大约在几个GBGB到几十个到几十个GBGB,甚至几百,甚至几百个个GBGB之间。一个典型的大型商业数据库需要数百个磁盘。之间。一个典型的大型商业数据库需要数百个磁盘。磁盘结构如图所示。磁盘结构如图所示。6.1.2 6.1.2 磁盘存储器及其结构磁盘存储器及其结构6.1.2 6.1.2 磁盘存储器及其结构磁盘存储器及其结构磁盘存储器由磁盘盘片与
12、磁盘驱动器两部分组成。磁盘存储器由磁盘盘片与磁盘驱动器两部分组成。1.1.磁盘盘片磁盘盘片 磁盘盘片是一种扁平的圆盘。它的两个表面都覆盖着磁磁盘盘片是一种扁平的圆盘。它的两个表面都覆盖着磁性物质,信息就记录在表面上。盘片由硬金属或玻璃制成,性物质,信息就记录在表面上。盘片由硬金属或玻璃制成,被磁性物质覆盖(通常是两面)。盘片的表面被逻辑地划分被磁性物质覆盖(通常是两面)。盘片的表面被逻辑地划分为磁道为磁道(track)(track),磁道又被划分为扇区(,磁道又被划分为扇区(sectorsector),它又称),它又称磁盘块(磁盘块(blockblock),磁盘块是从磁盘读出和写入信息的最小)
13、,磁盘块是从磁盘读出和写入信息的最小单位。根据磁盘的不同类型,一个扇区的大小可从单位。根据磁盘的不同类型,一个扇区的大小可从324096324096字节不等,但通常是字节不等,但通常是512512字节。每个磁道有字节。每个磁道有432432个扇区,每个扇区,每个盘片表面有个盘片表面有201500201500个磁道。个磁道。一个磁盘存储器往往由若干个盘片(一个磁盘存储器往往由若干个盘片(611611片)组成一个片)组成一个盘片组,固定在一个主轴上,以每个盘片磁道为注视点可以盘片组,固定在一个主轴上,以每个盘片磁道为注视点可以构成一个无形的同心圆柱体,从内到外层层相套。每个圆柱构成一个无形的同心圆
14、柱体,从内到外层层相套。每个圆柱体从上到下有若干个磁道围绕其上。体从上到下有若干个磁道围绕其上。6.1.2 6.1.2 磁盘存储器及其结构磁盘存储器及其结构2.2.磁盘驱动器磁盘驱动器 磁盘驱动器由活动臂、读写头等组成。每个盘面有磁盘驱动器由活动臂、读写头等组成。每个盘面有两个臂,分别对应上、下两面,每个臂的尽头是一个读两个臂,分别对应上、下两面,每个臂的尽头是一个读/写头(或称磁头),用它可以读取(或写入)盘片中写头(或称磁头),用它可以读取(或写入)盘片中的数据。一个由的数据。一个由n n个磁盘片所组成的盘片组对应有个磁盘片所组成的盘片组对应有2n2n个个活动臂,它们组合在一起构成臂组合件
15、,这种组合件可活动臂,它们组合在一起构成臂组合件,这种组合件可以自由伸缩活动,它以磁道为单位向前推进或向后退缩,以自由伸缩活动,它以磁道为单位向前推进或向后退缩,用它可以对磁道定位,由于它是组合方式以全体活动臂用它可以对磁道定位,由于它是组合方式以全体活动臂为单位作进退,因此它的推进或后退实际上是对圆柱体为单位作进退,因此它的推进或后退实际上是对圆柱体定位。定位。6.1.2 6.1.2 磁盘存储器及其结构磁盘存储器及其结构3.3.磁盘存储器磁盘存储器 一个磁盘存储器是由盘片组以及磁盘驱动器组成,其一个磁盘存储器是由盘片组以及磁盘驱动器组成,其中盘片组以轴为核心作不间断的旋转,速度以中盘片组以轴
16、为核心作不间断的旋转,速度以6060、9090、120120或或150150转不等,而活动臂组合件则以圆柱体为单位做前转不等,而活动臂组合件则以圆柱体为单位做前进或后退操作。这样,一个磁盘存储器上的任何一个磁盘进或后退操作。这样,一个磁盘存储器上的任何一个磁盘块都可由下面三个部分定位。块都可由下面三个部分定位。(1 1)圆柱体号:确定圆柱体(由活动臂移动定位)。)圆柱体号:确定圆柱体(由活动臂移动定位)。(2 2)读)读/写头号:确定圆柱体中磁道(由选择组合件中活写头号:确定圆柱体中磁道(由选择组合件中活动臂定位)。动臂定位)。(3 3)磁盘块号:确定磁道中的盘块号(由盘片组旋转定)磁盘块号:
17、确定磁道中的盘块号(由盘片组旋转定位)。位)。6.1.2 6.1.2 磁盘存储器及其结构磁盘存储器及其结构4.4.磁盘存储器的磁盘存储器的I/OI/O操作操作 为进行有效管理,系统对磁盘作统一编址,编址按圆为进行有效管理,系统对磁盘作统一编址,编址按圆柱体号、磁道号及盘块号编码,编码规则如下:柱体号、磁道号及盘块号编码,编码规则如下:(1 1)圆柱体号:设有)圆柱体号:设有n n个圆柱体,则编号自柱面的外层至个圆柱体,则编号自柱面的外层至内层,从内层,从0n-10n-1。(2 2)磁道号:设一个圆柱体有)磁道号:设一个圆柱体有m m个磁道,则磁道号统一编个磁道,则磁道号统一编码从上到下顺序编号
18、,从码从上到下顺序编号,从0nm-10nm-1个。个。(3 3)磁盘块号:设一个磁道有)磁盘块号:设一个磁道有r r个盘块,则磁盘块号也是个盘块,则磁盘块号也是统一编码,从统一编码,从0nmr-10nmr-1个。个。6.1.2 6.1.2 磁盘存储器及其结构磁盘存储器及其结构 磁盘在投入使用前都要进行格式化,目的是在各盘块磁盘在投入使用前都要进行格式化,目的是在各盘块的头部加注该块地址,包括该块所在的圆柱体号,读的头部加注该块地址,包括该块所在的圆柱体号,读/写写头号,盘块号以及某些状态标志。在具体操作时用户给出头号,盘块号以及某些状态标志。在具体操作时用户给出磁盘地址,此时活动臂组合件作机械
19、运动并定位于指定圆磁盘地址,此时活动臂组合件作机械运动并定位于指定圆柱体,同时系统选择指定的读柱体,同时系统选择指定的读/写头以确定磁道,最终读写头以确定磁道,最终读/写头跟踪旋转的磁道,并读出旋转时每磁盘块的地址。当写头跟踪旋转的磁道,并读出旋转时每磁盘块的地址。当用户给出的地址与磁盘地址一致时则表示地址已找到,此用户给出的地址与磁盘地址一致时则表示地址已找到,此时系统就将该地址中的数据读入内存中的磁盘缓冲区(或时系统就将该地址中的数据读入内存中的磁盘缓冲区(或从磁盘缓冲区将数据写入指定磁盘地址),这就完成了一从磁盘缓冲区将数据写入指定磁盘地址),这就完成了一次磁盘读次磁盘读/写操作或称写操
20、作或称I/OI/O操作。操作。6.2.1 6.2.1 文件的定长记录文件的定长记录6.2.2 6.2.2 文件的变长记录文件的变长记录6.2 6.2 文件组织文件组织 一般在文件中的记录都是有固定长度的,这种长度一般都由文件记一般在文件中的记录都是有固定长度的,这种长度一般都由文件记录型确定。例如某个关系模式录型确定。例如某个关系模式“物资编码表物资编码表”:WzbmbWzbmb(WzbmWzbm,WzmcWzmc,XhggXhgg,JldwJldw,PricePrice),它可以设计成一个定长文件。文件中的各个记),它可以设计成一个定长文件。文件中的各个记录定义如下:录定义如下:TYPE W
21、zbmb-TYPE=RECORDTYPE Wzbmb-TYPE=RECORD Wzbm Wzbm:VARCHAR2VARCHAR2(6 6););WzmcWzmc:VARCHAR2VARCHAR2(1616););XhggXhgg:VARCHAR2VARCHAR2(1616););JldwJldw:VARCHAR2VARCHAR2(6 6););PricePrice:NUMBERNUMBER(8 8,2 2););ENDEND 如果假设每个字符占如果假设每个字符占1 1个字节,那么每个个字节,那么每个WzbmbWzbmb记录定长为记录定长为5252个字节。个字节。6.2.1 6.2.1 文件的
22、定长记录文件的定长记录 文件中的记录有时其长度是可以变化的,变长记文件中的记录有时其长度是可以变化的,变长记录出现在数据库系统中的下述情况中:录出现在数据库系统中的下述情况中:(1 1)多种记录型在一个文件中存储。)多种记录型在一个文件中存储。(2 2)记录型允许一个或多个字段是变长的。)记录型允许一个或多个字段是变长的。(3 3)记录型允许可重复的字段。)记录型允许可重复的字段。6.2.2 6.2.2 文件的变长记录文件的变长记录 6.2.2 6.2.2 文件的变长记录文件的变长记录例如,把例如,把6.2.16.2.1中的关系模式作如下文件结构定义:中的关系模式作如下文件结构定义:TYPE
23、Wzbmb-LIST=RECORDTYPE Wzbmb-LIST=RECORD Wzmc Wzmc:VARCHAR2VARCHAR2(1616););Wzbm-INFOWzbm-INFO:ARRAY1ARRAY1,OFOF RECORD RECORD Wzbm Wzbm:VARCHAR2VARCHAR2(6 6););XhggXhgg:VARCHAR2VARCHAR2(1616););JldwJldw:VARCHAR2VARCHAR2(6 6););PricePrice:NUMBERNUMBER(8,28,2););ENDENDENDEND 变长记录的表示有两种形式:变长记录的表示有两种形式:
24、(1 1)字节流字节流 实现变长记录的一个简单方法是在每个记录的末尾附实现变长记录的一个简单方法是在每个记录的末尾附加一个特殊的记录终止符号,这样可以把每个记录作为一加一个特殊的记录终止符号,这样可以把每个记录作为一个连续的字节流来存储。另一种字节流表示方法是在每个个连续的字节流来存储。另一种字节流表示方法是在每个记录的开始处存储记录的长度,而不再使用记录终止符号。记录的开始处存储记录的长度,而不再使用记录终止符号。(2 2)定长的表示方法定长的表示方法 另一种在文件系统中有效实现变长记录的方法是使用另一种在文件系统中有效实现变长记录的方法是使用一个或多个定长记录来代表一个变长记录。一个或多个
展开阅读全文