- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 数据库系统实现实现技术
9.1 数据库的存储结构
存储介质
内外存数据交换
数据库引擎中的存储管理器,主要两个部件:缓冲区管理器和文件管理器。
数据库运行时,内外存间要频繁地进行数据交换,每交换一次数据称为一次I/O操作。数据库系统需OS支持进行I/O。
I/O操作是很慢的,数据调出外存要缓存在缓冲区中供后续的操作使用(读/写)。读不命中或写结果按策略更新时进行I/O。
每次交换的数据量称为一个数据块,一个块可以等于一个或几个磁盘块。块大对顺序访问有利,对随机访问不利。
内存中缓冲区的大是若干个数据块。
数据库的存储结构
磁盘冗余阵列(RAID)
RAID是数据库服务器最常用的外存储介质,有若干同样的磁盘组成的阵列,从RAID0-RAID8有多种组合方式。
通过冗余改善可靠性。
同一数据同时写入两个磁盘
若干个磁盘数据用一个磁盘保存校验位。
通过数据条块化提高速度
数据大体均匀地存放于若干磁盘上。
当多用户请求数据库数据时,I/O操作可以随机地落在不同的磁盘,磁盘阵列并行I/O从而提高速度。
备份数据和历史数据
通过网络存储存放到物理上分离的地方(防火、水、震等)
移动硬盘或光盘、磁带等大容量离线存储设备。
数据库的存储结构
文件内记录的存储
数据库数据以文件形式在外存中存储。数据库的逻辑记录在物理文件中如何实现,是记录的存储方法问题。
定长记录格式:每个数据库记录占有定长文件记录。
例:Employer(Ename char(10),eNo char(10),Salary real)
设一个实数占8字节,
则一个记录28字节,
文件的逻辑机构为:
删除操作空位处理
其它记录依次上移
最后记录填补空位
被删空位链接、插入时用
记录0
Liu
A-102
6000
记录1
Wen
B-306
7000
记录2
He
F-257
8000
记录3
Zhang
A-214
6000
记录4
Zhou
C-343
7500
记录5
Liu
B-215
8000
数据库的存储结构
变长纪录:每条数据库记录长度不同
例:Salsepson的属性adress是变长的
Salseperson(empID:char(3),empName:char(8),sex:char(1),
birthday:date,spTelNo:number(12),address:varchar(50))
字符串格式:把每个数据库记录看作是连续的字节串,尾部加记录尾标记符。(大多数操作系统支持按行存取文件)
下面的关系
empID
empName
sex
Birthday
spTelNo
address
sp1
刘女士
F
70-1-20
082354
北京市宣武区牛街街道双槐里小区22楼2-101 100028
sp2
李先生
M
67-5-2
213146
北京市海淀区玉泉路甲19号100049
sp3
何女士
F
62-9-7
352210
山东省日照市 276534
数据库的存储结构
下述文件存储是字符串格式
0 sp1│刘女士│ F │ 70-1-20 │1390082354 2│北京市宣武区牛街
街道双槐里小区22楼2-101 │1370100028 1 │ ┴ │
1 sp2 │李先生│ M │ 67-5-22 ││北京市海淀区玉
泉路甲19号100049 │ ┴ │
2 sp3 │何女士│F │ 62-9-7 ││山东省日照市 2 76
534 │ ┴ │
字符串格式的缺点
被删除的位置难以重新利用。
某记录要伸长很困难(移动大量记录)。
改进:分槽式页结构(shotted page structure)
记录从块的尾部邻接存放。中间是自由空间(伸长记录用)。
块的开始是块首部,记录块中记录数、每个记录大小和位置。
分槽式变长记录结构
变长记录的定长表示
预留空间(按最大)
固定块+溢出块格式
数据库的存储结构
sp1
刘女士
F
70-1-20
082354
sp2
李先生
M
67-5-2
213146
sp3
何女士
F
62-9-7
352210
北京市宣武区牛街街道
双槐里小区22楼2-101
100028
┴
北京市海淀区玉泉路甲
19号100049
┴
山东省日照市 276534
┴
固定块
溢出块
数据库的存储结构
文件内记录的组织
一个文件包含了成千上万个记录,这些记录按什么顺序或方式安排,是数据库记录在文件内的组织问题。
对某种组织的文件怎样去查找、插入和删除,是文件中记录的存取方法问题。不同的组织方式存取效率有很大差别。
记录的组织方式
堆文件组织:记录可以放在文件的任何位置,以输入顺序为序。删除、插
文档评论(0)