数据库物理存储.ppt
《数据库物理存储.ppt》由会员分享,可在线阅读,更多相关《数据库物理存储.ppt(80页珍藏版)》请在三一办公上搜索。
1、第五章 数据库存储结构,在SQL标准中,数据库按三级模式构建,它们是:视图(子模式)、基本表(模式)、存放数据的操作系统文件(存储模式)。这一章我们重点讨论:“DBMS如何把基本表、索引等数据存储到磁盘文件中,以及如何提高查询速度等问题”,学习这些知识的目的是:更好地设计你的数据库及配置你的数据库参数,使系统效率更高。,第五章 内容,5.1 存储介质 介绍5.2 存储结构5.3 索引技术,5.1 存储介质,一个数据库最终要存储到计算机的存储设备中。因此,我们首先介绍一下数据库系统所涉及到的计算机存储设备。,5.1.1 存储介质层次,一个数据库在运行过程中,涉及多种存储设备。我们按存储器中数据被
2、DBMS使用的顺序,把存储器分为三级。内存作为一级存储器,存放DBMS当前正在使用或正要使用的数据库数据。硬磁盘作为二级存储器,存放整个数据库,这些数据可能随时被DBMS调入内存。,1、内存,磁盘、磁带、光盘等作为三级存储器,存放数据库的备份,当磁盘中的数据库遭到破坏时,用数据库的备份来恢复。如图所示:,存储器分三级结构图,一级,二级,三级,5.1.2 内存,内存中存放系统正在使用或正要使用的数据。内存由操作系统来管理。操作系统为数据库在内存中开辟一块区域,用来存放数据库的数据和日志。如图所示:,内存中的数据库示意图,数据库的数据缓冲区,数据库的日志缓冲区,数据页,数据页,数据页,内存,5.1
3、.3 硬磁盘,硬磁盘又称温切斯特盘(Winchester),它的工作原理是:在一个塑料盘片上涂上小磁粉颗粒,颗粒有磁时表示“1”、无磁时表示”0”结构如图所示:,1、磁盘结构,柱面,2、技术指标,盘片:一个硬盘由一组两面涂有磁粉的盘片组成。磁道:为了在盘片上存储信息,必须把盘片分成若干个同心圆,然后在其上存储信息,我们把这些同心圆称为磁道。扇区(扇段或盘块):为了读取信息方便,我们用扇形把磁道等分成若干段,我们称它们为扇段(扇区或盘块)。磁盘上的所有扇段(不论扇段的长短)都存储相同容量的信息,盘块大小与操作系统有关,一般是512KB。盘块是OS寻址的最小单位,既OS向磁盘读写数据的最小单位。,
4、2、技术指标,柱面:我们把由所有盘面上相同磁道所够成的哪一部分存储空间,称为一个柱面。磁盘容量:盘片总数2每个盘面的磁道数磁道的盘块数每个盘块的字节数在磁盘上定位数据:操作系统通过(柱面号,磁头号,盘块号)三个参数来定位磁盘上的数据。OS对整个盘的盘块进行统一编址,编址的方法是:,2、技术指标,假如磁盘有20个盘面,每面上有200个磁道。每个磁道上有17个扇段。柱面编号:由内向外依此编为 0、1、2 199。磁道编号:磁道编号按柱面号顺序进行编号。0 柱面的20个盘面上的磁道从上到下编为:0、1、2、19,1 柱面的20个盘面上的磁道从上到下编为:20、21、39,依此类推。盘块编号:盘块编号
5、按磁道号顺序编写。0 号磁道上的17个扇段依此编为 0、1、2、16,1 号磁道上的17个扇段编为 17、18、33,依此类推。,3、磁盘文件,操作系统对存储到磁盘中的数据,采用文件形式进行管理。每个文件有一个文件名,数据存储在文件中。操作系统为每个磁盘创建一个文件分配表结构如下:,3、磁盘文件,3、磁盘文件,一个文件包含多个盘块,盘块之间指针链接起来。一个盘块只存储一个文件的数据,既一个盘块不能存储不同文件文件的数据。当用户要访问文件时,操作系统首先从磁盘的文件分配表中找到此文件,然后根据文件分配表的信息将该文件的盘块调入内存,操作系统从磁盘往内存调数据的最小单位是一个盘块(扇区)。,5.1
6、.4 磁盘阵列,目前,数据库中的数据量越来越大,数据的安全性要求越来越高。用单块磁盘存储数据库数据已不满足要求。1987年,Gibson和Katz在加洲大学伯克利分校发表文章,首先提出了“磁盘阵列”概念。,5.1.4 磁盘阵列,独立冗余磁盘阵列最初叫做廉价冗余磁盘阵列(Redundant Array of Inexpensive Disks),它是由多个类型、容量、接口,甚至品牌一致的小容量、独立的硬盘组成的阵列,而阵列综合的性能可以超过单一昂贵大容量硬盘(SLED)的性能。由于是对多个磁盘并行操作,所以RAID磁盘子系统与单一磁盘相比它的输入输出性能得到了提高。服务器会把RAID阵列看成一个
7、单一的存储单元,并对几个磁盘同时访问,所以提高了输入输出的速率。,5.1.4 磁盘阵列,RAID技术主要包含RAID 0RAID 7等数个规范,它们的侧重点各不相同,具体如下:,1、RAID 0,RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。,RAID 0示意图,2、RAID 1,它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份
8、的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。,RAID 1 示意图,3、RAID 0+1,这种模式其实是RAID 0和RAID 1的组合,它至少需要四块盘。先由两块盘够成RAID 0阵列,再把两个RAID 0阵列构成RAID 1阵列。优点是:既可提高数据的可靠性,又可适当提高读写速度。,RAID 0+1示意图,5.2 数据库的存储结构,数据库最终要存储到计算机的磁盘中。而磁盘是由操作系统的文件管理子系统
9、来管理的,大家知道操作系统对存储在磁盘中的数据是以文件形式来管理的。因此DBMS对数据库的存储结构设计必须符合操作系统的文件技术规范。我们先来看看操作系统文件的相关概念。,操作系统文件简介,操作系统逻辑文件是指用户、应用程序所感知道的文件组织形式。从结构上可分成两大类:字符流式无结构文件和记录式有结构文件,而记录式有结构文件又可进一步分为:连续结构、多重结构、转置结构、顺序结构四种。从存取方法上可分为:顺序存取、随机存取、按键存取三种。,操作系统文件概述,存储数据库数据的数据库文件采用的是OS的记录式有结构文件,如图所示:,记录式有结构文件示意图,OS结构文件,记录的结构,STRUCT Stu
10、dent SID String;SName String;BirthDay DateTime,5.2.2 数据库文件的记录结构设计,数据库中各种数据的结构不相同,那么,我们应如何设计数据库文件的记录结构,才能使数据库的各种数据都能存储在文件中呢?这里面临的问题是:数据库文件的记录是采用定长结构还是变长结构,这就是文件组织问题。,1、定长记录,所谓定长记录结构就是文件的记录采用统一的长度。定长记录结构的文件如图所示:,数据库中的“学生”表,数据库中的“课程”表,数据库文件,2、变长记录,所谓变长记录结构就是存储数据的文件记录不采用统一的长度。变长记录结构如图所示:,分槽式页结构,记录大小,记录位
11、置,5.2.3 数据库文件中记录的逻辑联系,在数据库中,基本表之间是有联的,基本表的元组之间是有顺序的。那么如何在数据库文件中体现出这些联系和顺序,以便我们能实现对数据的快速查找呢?显然,应该通过文件的“记录”之间的逻辑顺序和联系来体现。记录式文件的记录组织结构有以下四种:,1、堆文件,在这种组织中,记录可以放在文件的任何位置,一般以输入顺序为序。记录的存储顺序与关键字无关,插入记录总是在文件尾部。,2、顺序文件,在这种组织中,记录是按查找键值升序或降序顺序存储。,3、散列文件,按记录的某个数据项的值,通过散列函数求出一个散列值,然后用此值作为该记录的存储位置值。,4、聚集文件,在这种组织中,
12、一个文件可以存储多个关系的元组。这样一来,能提高对多个关系之间进行联接查找的速度。,5.2.4 SQLServer数据库的存储结构,从存储角度看,一个SQLServer数据库由若干个文件组构成(1 n 256),一个数据库至少要有一个主文件组(PRIMARY)。一个文件组可以包含若干个文件。一个数据库文件的总数:1m32767。一个数据库必须有一个主文件,主文件的扩展名为(.mdf),其它文件称为次要文件,次要文件的扩展名为(.ndf)。,5.2.4 SQLServer数据库的存储结构,系统为每个文件分配一个唯一标识号。例如01、02、。,1、基本表与文件组之间的关系,用户只能指示把表放在哪个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 物理 存储
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5985666.html