18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 数据库管理系统存储系统层(数据库)

数据库管理系统存储系统层(数据库)

时间:2022-11-16 18:30:01 | 来源:信息时代

时间:2022-11-16 18:30:01 来源:信息时代

    数据库管理系统存储系统层 : DBMS中负责和计算机硬件或操作系统打交道的最底层,其功能是进行存储管理,亦即管理系统缓冲区,管理外存和负责内外存交换。它的下层接口有两种情况,或以硬件设备作为基础,或以操作系统的存取原语作为基础。它向上一层提供的则是存储器接口,即系统缓冲区。系统缓冲区处于内存,是由定长页面组成的逻辑线性地址空间,一切其他系统层或系统成分均立足于系统缓冲区之上,与实在的外存设备是互相隔离的。外存设备的变动不会影响其他系统成分,从而提供了设备独立性。作为内存中承载数据处理的平台,由定长的页面组成系统缓冲区。
系统缓冲区的大小和定长页面的尺寸因各系统而异,不同的数据库管理系统,不同的操作系统和不同的硬件配置会有不同大小的系统缓冲区和不同尺寸的定长页面。一般页面尺寸可能是8K byte,16K byte甚至是64K byte。
通常数据库的规模都十分庞大,不易管理。一种常用的方法是将数据库划分成段(segment或area)。段是逻辑上互相关联的地址空间,利用相对字节(byte)地址进行直接编址,其编址起自段头,终于段尾,不考虑段内分页的边界。段作为存储管理的单位可看作存储一个或多个关系的容器,包括所有被包含关系的描述信息,所有的元组和存取路径都统一地由段进行存储、检查和管理。应注意关系只能属于一个段,即不能跨段存储。
数据库分段的理由很多,摘要而言有:
(1)便于将数据库划分为联机存储和脱机存储。
(2)便于动态地分配不同类型的存储。
(3)便于数据的物理恢复。
(4)便于有效地封锁
(5)便于数据安全。
数据库管理系统的存储系统层涉及的对象有外存、系统缓冲区和内存。数据库(DB)由于规模庞大,一般不可能同时进入系统缓冲区(system buffer,SB),更不可能同时进入内存(memory,M)。设DB由D页组成,SB由N页组成,SB能取用的内存数为M页。一般总有D>>N>M。
当发生一数据请求时,亦即请求存取DB的某个页面时,总是先查找SB,看该DB页是否在SB中。如果在SB中则可继续进行处理; 若不在SB中就称为发生了SB页故障或SB缺页(system buffer page faults,SBF)。这时就需由系统缓冲区管理程序(system buffer manager,SBM)将所请求的DB页从DB取入SB中。
系统缓冲区(SB)是一个虚存,一般不可能全部处于内存中。当所请求的SB页不在内存中时就发生M页故障或M缺页(memory page faults,MF)。这时需由虚存管理程序(virtual memory manager,VMM)将所请求的SB页调入内存。调页关系如图1所示。


图1 存储空间的组织和映射


系统缓冲区管理程序(SBM)和虚存管理程序(VMM)在外存、虚存和内存之间进行调页。在解决缺页故障时需遵循一定的算法,称为调页算法或页替换算法。常用的算法有FIFO法,即先进先替换算法(first in first out,FIFO); LRU法,即最近最少使用法(least recently used,LRU); 以及随机算法RAND(random)。以上算法的实现技术十分简单,明了,非常有效。
为了调页,需首先确定所请求的DB页是否在SB中,所请求的SB页是否在内存中,这就需要进行查找。通常的查找算法有顺序查找法、折半查找法和杂凑(Hash)查找法等。
前已提及,为了便于管理常将数据库划分为段Sk,k=1,2,…,n,段又由定长的页面组成,Sk={Pi|1≤i≤mk}。定长页面的长度由具体的实现规定。将DB各段的页面分配或映射到外存去可以有两种方法。一种是由DBMS的存储系统利用设备接口来进行,自行实现外存管理和页面存取。另一种方法是利用操作系统提供的现成的外存存取原语来实现对外存的映射和存取。对于后者,可以同具体的设备隔离开来,从而获得设备独立性和可移植性。当将数据库管理系统向另一操作系统移植时只需将存储管理系统的存取原语换成目标操作系统的存取原语即可。但缺点是受现成操作系统各种特定规定的限制,缺乏灵活性,且操作系统对数据库管理系统的特殊需要的支持也嫌不足。对于前者即由DBMS的存储系统自行实现外存管理和页面存取就可以克服经由操作系统的不足。
实现DB各段的页面分配或映射到外存的存储页面上去有两种方法,即直接法和间接法。直接法又可以细分为静态连续分配和外存分区分配两种。各方法有其优点和缺点,在简单、高效和动态、灵活上进行权衡,决定取舍。它们在已实现的著名系统中均有良好的表现。
数据库的应用要求数据库必须安全可靠,如银行的数据。但数据库系统发生故障又是不可避免的,因此为保证可靠就需要强有力的恢复机制。对存储系统而言,它是数据库的基础,理应有相应的手段给予支持。著名的影子存储方法(shadow memory)就是一种简明高效的支持恢复的存储方法。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭