第一章 数据库管理系统概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

理解。
– 立即反馈:在用户心理许可的时间范围内给出响应 返回结果 返回执行信息
8
用户界面友好
– 多样性:提供多种用户接口,以适应不同层次用户的
需要。
DBMS接口
交互式SQL – 嵌入式SQL – 表格语言接口 – 命令式语言接口 –函数调用接口

9
目标二: 功能完备

主要功能
– – –
AP1 DBMS
AP2 DBMS
APi DBMS U1 Ui
SGA
OS
DB
文 件 N 方案
34

SGA:Shared Global Area 共享全局区。
– 存放内容:全局资源 数据、索引、字典定义信息的缓冲块 日志缓冲块 封锁控制块
等等
35
2. 优点

没有进程切换开销
– 能用子程序调用方式把控制迅速直接地传给DBMS,避
3) DBMS必须设立并维护若干后台进程,增加了进 程切换
48
3. 缺点
4) 要访问的数据不在内存时会造成性能问题
运行的DBMS进程发出一次I/O请求 所需数据不在BUFFER
后台进程读数据
阻塞(等待数据),进程切换,让其他进程运行
49
3. 缺点
5) 临界区问题(Critical Section)

55
1. 特点

DBMS进程的分派由分派程序完成。

分派程序可以是一个单独的后台进程,也可以将其代 码连入用户程序(APi)中。 分派程序的功能

56
分派程序的功能(续)
接收用户的数据库请求 将用户请求链入SGA中的请求队列 当有空闲DBMS进程时,将请求队列中的一个请
求分配给它服务

12
结构清晰
内部结构清晰、层次分明 以便于自身的设计、开发和维护
13
目标五:开放性

符 合 标 准 和 规 范 , 例 如 SQL 标 准 、 ODBC 标 准…… 提高互操作性和可扩展性


使用其他厂商的开发工具和数据库
继承已有应用 让用户继续使用自己熟悉的工具
– 14
开发工具和数据库可供其他DBMS使用
免两次进程切换开销(每次5000-10000条指令),从 而减少应用程序的运行时间

实现比较简单
36
3.缺点

内存的需求量比较大:多DBMS副本
代码冗余使系统性能下降,DBMS功能越强, 代码段越大,性能下降越明显
37
4.适用情况

用户数少的小型DBMS
38
5.实际系统

System R
39
– –
Server要用自己的机制来调度这些申请,以支持一个 多任务的数据库系统
63
1. 特点

没有SGA,DBMS进程的数据区=SGA
没有后台进程
用多线索(Multi-Threaded)技术来实现N+1 方案
64
AP1
AP2
...
APi
U1
...
Ui
DBMS
OS
DB
文件
65
2. 优点

29
第一章 数据库管理系统概述

1.1 DBMS 概述 1.2 DBMS的进程结构和多线索机制 1.3 DBMS系统结构 1.4 语言处理 1.5 数据存取层 1.6 数据存储层 1.7 数据库物理组织
30
1.2 DBMS的进程结构和多线索机制

四种进程组织方案
– – –
索引查找 Hash查找 顺序查找
等等
– 实现数据之间的联系
21
数据组织、存储和管理

目标

提高存储空间利用率 效率
– 提高随机查找、顺序查找、增、删、改等操作的时间
22
5. 数据库的建立和维护

建立数据库
– –
数据库的初始建立 数据的转换
等等
23
5. 数据库的建立和维护

维护数据库
1.2.2 2N方案

特点 优点 缺点 适用情况 实际系统
40
1. 特点

解决N方案中DBMS代码段在内存中不能被共享
应用程序与DBMS副本分开
2N方案
41
1. 特点

一用户一进程(Shadow进程)
N个用户进程-----N个DBMS进程(共2N个进程)
42
AP1 SGA DBMS
其中一个进程可获得该资源,其他进程仍要sleep
大量无谓的进程切换
51
4.适用情况

用户数不庞大(非OLTP应用)
52
5.实际系统

ORACLE 7.0之前的版本
INGRES(最早的INGRES采用4N方案)
Informix的早期版本
53
1.2.3 M+N方案

特点 优点 缺点 适用情况 实际系统
– – –
数据库的转储和恢复 数据库的重组织和重构造 性能监测分析
等等
24
6. 其他功能

DBMS与网络中其他软件系统的通信功能
与其他DBMS或文件系统的数据转换功能
异构数据库之间的互访和互操作功能
等等
25
1.1 DBMS 概述

1.1.1 DBMS的目标


1.1.2 DBMS的基本功能
– 指导思想:用户进程可能并不总是同时提出数据库
请求,一个用户一个DBMS进程的方案太浪费了, 几个用户轮流使用一个DBMS服务进程也许会节约 一些。
59
3.缺点

没有克服2N方案的本质弱点。
分派程序给系统增加了开销并可能成为瓶颈
DBMS进程动态增减的开销亦很大
60
4.实际系统

ORACLE
数据库定义 数据库数据存取 数据库运行管理

数据库组织和存储管理
– 数据库建立和维护
10
目标三: 效率高

高的系统效率
– –
资源的利用率 运行效率查询优化

高的用户生产率

良好的应用开发环境
11
目标四: 结构清晰

DBMS复杂

接口 向上:与用户接口 向下:与OS、其他软硬资源接口 实现技术 涉及: 编译原理(因为DBMS提供了数据语言) 操作系统(因为与OS接口) 程序设计(因为本身是软件系统) 数据结构(因为本身是软件系统)
N方案 2N方案 N+1方案

N+M方案
31
1.2.1 N方案

特点 优点 缺点 适用情况 实际系统
32
1.特点

是DBMS与应用程序相融合的方案
N个DB用户--N个进程
DBMS: 作为应用程序的子程序被连入应用程序 中,成为应用程序的一部分。 N方案也称为连入式方案

33
将DBMS执行结果链入结果队列 将结果返回给相应用户 监测整个DBMS的运行状况并根据用户请求队列
的情况动态增减DBMS进程的个数
57
AP1
AP2
...
APi
U1
...
Ui
SGA
DBMS
... DBMS
服务 进程 池
OS
DB百度文库
文件
N+M 方案
58
2.优点

改进了2N方案,提高了内存资源的利用率
5
1.1.1 DBMS的目标

用户界面友好
功能完备
效率高
结构清晰
开放性
6
目标一: 用户界面友好

用户界面的质量直接影响一个DBMS产品的生 命力。 一般要求(4个)


可靠性:指界面要具有一定的容错能力。
运行状态指示 出错信息 引导用户改正错误
7
用户界面友好
– 易用性:操作方式简单,容易记忆,输入/输出容易
AP2
...
APi
U1
Ui
...
DBMS
DBMS
OS
DB
文件
2N 方案
43
2. 优点

DBMS对各数据库用户的多任务调度由OS完成
– 简化了用户进程与DBMS的接口 – 实现起来比较简单
44
3. 缺点
1) 进程间总的通信开销上升
用户 DBMS Shadow进程 DBMS SGA 用信号量实现同步 用信号量实现互斥访问
采用多线索(Multi-Threaded)技术
– –
用统一的“线索”思想处理所有执行流 提高系统性能,降低系统资源的开销,简化DBMS许 多部分的设计
– –
省去后台进程并适应微内核(Micro-Kernel)要求
使DBMS的核心代码简明精巧、易于移植。
66
3. 缺点

如果借助OS的线索机制,可移植性受影响

外模式、模式、内模式的定义
数据库完整性的定义
安全保密定义(如用户口令、级别、存取权限)

存取路径(如索引)的定义
数据字典(亦称为系统目录): 存储定义
17
2. 数据存取

数据操纵语言(DML)
– – – –
检索 插入 修改 删除

两类DML

宿主型语言

18
自立(独立)型语言
3. 数据库运行管理
46
3. 缺点
– 时间 进程数目过多,许多CPU时间用于进程切换这种昂贵
的工作上 – 结论:2N方案不可能支持很多的DBMS用户,不能支持大量 用户的OLTP应用。原因:
系统颠簸及进程切换的高额开销使系统性能严重下降
增加一个用户所需要的资源较大 OS所支持的进程总数有限制
47
3. 缺点
DBMS、后台进程
45
3. 缺点
2)操作系统的负担增大,空间、时间效率不高
– 空间
①各DBMS的代码段可共享(UNIX中的正文段)
但数据段和栈段还是各自的 ②每个DBMS进程都有一个PCB等诸多内部空间 ①对存储的需要量亦很大,极易使内存页面状况变坏 ②用户数较多时,物理内存<<各进程虚空间之和 各进程被OS频繁地换入换出,使系统出现颠簸
1.1 DBMS 概述

1.1.1 DBMS的目标


1.1.2 DBMS的基本功能
1.1.3 DBMS和操作系统 1.1.4 DBMS和第四代应用开发环境
15
1.1.2 DBMS的基本功能

数据库定义
数据库数据存取
数据库运行管理


16
数据库组织和存储管理
数据库建立和维护
1. 数据库定义

多用户环境下事务的管理和自动恢复 并发控制和死锁检测(或死锁防止) 安全性检查和存取控制 完整性检查和执行 运行日志的组织管理
等等
19
4. 数据组织、存储和管理

数据的种类
– –
数据字典 用户数据
– 存取路径等
20
数据组织、存储和管理

任务

以某种文件结构和存取方式物理地组织这些数据
– 并发进程在访问共享资源时必须互斥。每个进程中访
问共享资源的那段代码称为临界区。
– 全局缓冲区是共享数据段,Buffer管理程序的一部分
必须是临界区。
– 临界区问题
50
S1:读Buffer 持有信号量 挂起 S2:读Buffer 等待 …………. Sn:读Buffer 等待 ①排队等待被封锁的资源 进程切换 ②在UNIX下,当该资源可用时 等待该资源的所有进程都被唤醒
如果不借助OS的线索机制,不能直接移植至 SMP平台


27
1.1 DBMS 概述

1.1.1 DBMS的目标


1.1.2 DBMS的基本功能
1.1.3 DBMS和操作系统 1.1.4 DBMS和第四代应用开发环境
28
1.1.4 DBMS和第四代应用开发环境

DBMS的数据管理功能是核心
DBMS之上可以有开发工具
– – – –
报表书写工具 屏幕表格软件 菜单生成工具 图形显示工具
Informix
61
1.2.4 N+1方案

特点 优点 缺点 适用情况 实际系统
62
1. 特点

一个DBMS进程对应所有用户进程

整 个 DBMS 仅 使 用 一 个 进 程 , 类 似 于 一 个 服 务 器 (Server)。 多个数据库用户向Server发message申请数据库服务
第一章 数据库管理系统概述
1
数据库在计算机系统中的位置
协同软件
软件产品
办公软件 中间件
应用软件平台
软件基础构架平台 基础软件平台 硬件平台
应用服务器
数据库系统
操作系统
2
基本内容

DBMS的基本功能


DBMS的进程结构
DBMS的系统结构 DBMS的主要实现技术
3
第一章 数据库管理系统概述

54
1. 特点

M个DBMS进程-- N个用户进程(一般 M < N)
DBMS进程不负责多任务调度,同时每个用户进 程也不固定地对应于某个DBMS进程。用户的数 据库请求将会被动态地分配给某个DBMS进程来 处理(例如最不忙的那个DBMS进程)。
DBMS进程个数(M)可随用户进程数目(N) 的变化而调整
1.1.3 DBMS和操作系统 1.1.4 DBMS和第四代应用开发环境
26
1.1.3 DBMS和操作系统

DBMS是操作系统的用户。DBMS在操作系统上可 以有多种不同的运行方式。 DBMS需要操作系统的服务: 创建和撤消进程, 进程通信,读写磁盘,分配内存等 操作系统不同的服务方式:DBMS在实现技术和 实现方法上有差异
1.1 DBMS 概述 1.2 DBMS的进程结构和多线索机制 1.3 DBMS系统结构 1.4 语言处理 1.5 数据存取层 1.6 数据存储层 1.7 数据库物理组织
4
1.1 DBMS 概述

1.1.1 DBMS的目标


1.1.2 DBMS的基本功能
1.1.3 DBMS和操作系统 1.1.4 DBMS和第四代应用开发环境
相关文档
最新文档