欢迎来到天天文库
浏览记录
ID:59208576
大小:571.50 KB
页数:64页
时间:2020-09-26
《第5章数据库的存储结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章数据库的存储结构2009.10Lastupdate:Oct.20091LectureNotes-PrinciplesofDatabasesSystems.ByZhuomingXu第1部分数据库系统引论目录Contents5.1数据库存储结构多级存储物理结构逻辑结构5.2关系数据库中表的典型存储机制索引散列簇集5.1数据库存储结构一、多级存储目前,用内存作为数据库的存储介质是不合适的。内存的容量尚不够存储全部的数据;内存一般属易失存储器(VolatileStorage),不适合用来存储持久数据内存存储单位数据成本要比外存高得多因此,主
2、要采用多级存储器。二级存储:内存-外存三级存储5.1数据库存储结构三级存储结构第一级:主存储器(mainmemory)高速缓冲存储器(cache)主存储器(memory)第二级:磁盘存储器(secondarystorage)也称为:二级存储器或次级存储器。第三级:辅助存储器(tertiarystorage)磁带存储器自动光盘机是一种辅助存储设备,也称三级存储器。5.1数据库存储结构存储容量访问速度访问类型存取单位第一级存储器100MB~10GB10-8秒~10-7秒随机字节第二级存储器10GB~103GB10毫秒~30毫秒随机物理块第三级
3、存储器106GB几秒钟~几分钟顺序数据块5.1数据库存储结构主存储器磁盘存储器辅助存储器cachememorytapeCDdisk存储容量小大访问速度快慢制造成本高低5.1数据库存储结构磁盘的I/O操作:首先根据给出的物理块地址定位,然后读/写指定磁盘块上的数据,其存取时间开销包括:活动头的移动时间-寻道时间磁盘片的旋转定位时间-等待时间读/写数据时间-传输时间物理块是磁盘与内存进行数据交换的基本单位,因此物理块的大小是设计DBMS的重要参数。5.1数据库存储结构磁盘的存取速度与内存的存取速度不匹配,为了有效地支持数据库的数据读写、提高数
4、据库性能。为此,DBMS必须在内存开辟若干大小等于物理块的缓冲块或缓冲区(Buffers),并采用数据预取(Prefetching)和延时写(DelayedWriting)技术,减少I/O操作。即使外存(通常是硬盘)是非易失存储器,当系统(包括:OS、数据库系统本身、存储介质等)发生故障时,数据库不可避免地会遭受破坏,因此DBMS必须提供数据后备(Backuping)功能。5.1数据库存储结构二、物理结构数据库以多个文件(Files)的形式进行组织,并物理地存储于硬盘介质上。存储空间及文件由DBMS的存储管理器进行管理。(OS的存储管理和
5、文件系统可为DBMS提供底层支持)。通常,一个数据库有三种文件:数据文件(DataFiles):用于存储数据库中的数据与元数据,一个数据库对应一个或多个数据文件。日志文件(LogFiles):用于保存用户存取数据库的日志记录,一个数据库对应一个或多个日志文件。控制文件(ControlFiles):用于保存与数据库有关的若干参数(如:数据库名、数据库数据文件和日志文件的名字和位置,数据库的建立日期等),一个数据库对应一个控制文件。5.1数据库存储结构SGADBBufferCacheLogBufferControlFileDataFileDa
6、taFileDataFilesDataFileLogFilesDelayedwritingPrefetchingLogwritingBackuping外存内存5.1数据库存储结构三、逻辑结构数据库用户并非直接与数据库的物理结构(物理存储介质或物理文件)打交道,DBMS的存储管理器提供了物理←→逻辑的映像(Mapping),使得用户直接面对数据库的逻辑结构。逻辑结构涉及两个方面:①数据库的存储空间如何逻辑地划分与组织(即逻辑存储空间);②用户如何使用数据库的数据(即用户模式及其对象)。5.1数据库存储结构三、逻辑结构(cont.)逻辑存储空
7、间:(以Oracle为例介绍)表空间(TableSpace):数据库的逻辑存储单位。一个数据库可包含一个或多个表空间;一个表空间可跨越多个磁盘分配。一般地,在数据库初始化时,系统总是自动建立一个缺省表空间(如Oracle中的SYSTEM表空间),DBA事后可定义其他表空间。段(Segment):表空间中一种指定类型的逻辑存储结构。有:数据段:每个表/簇集有一个数据段,用于存储其中的数据。索引段:每个索引有一个索引段,用于存储索引数据。回滚段:由DBA建立,用于临时存储要回滚(撤消)的信息,以便事务回滚。临时段:当一个SQL语句需要临时工作
8、区时,由DBMS建立,用完后再回收。范围(Extent):一个段由一组范围组成,范围是数据库存储空间分配的逻辑单位。数据块(DataBlock):一个范围由一组连续的数据块所组成,数据块是DB
此文档下载收益归作者所有