DBMS最基本的功能是正确、安全、可靠地执行数据库语言语句。
事务(Transaction)
事务是DBMS的执行单位,由有限的数据库操作序列组成。
事务要具备下列性质(ACID准则):
-
执行的原子性Atomic
要么不做,要么全做
-
更新操作的一致性Consistency
使数据库由一个一致状态转变到另一个一致状态
- 一致状态:数据库中的数据满足完整性约束(例如拨款+修改余额均执行)
-
彼此的隔离性Isolation
多个事务并发执行应像独立执行一样
-
作用的持久性Durability
成功的事务对数据库的影响是持久化的
进程结构
目前,多数DBMS把主要功能组成一个DBMS核心进程。核心进程的结构方案有如下几种:
-
一个应用进程对应一个核心进程
实现容易,但创建、通信的开销大,共享空间困难。
-
单进程多线程
使DBMS的并发执行从进程级改为线程级。
尽管OS提供了线程管理的功能,但DBMS多自己实现线程管理,好处是:
- 可以按照DBMS需要确定调度测了
- 线程的切换在用户态,开销小
- 减少对操作系统的依赖
DBMS自己实现线程管理,需要OS提供:
- 非阻塞IO(异步IO)
- 公平调度,需要把DBMS进程与其他进程区分轻重看待
系统结构
-
分时系统下的集中式结构
数据及其管理都是集中的
-
网络环境下的C/S结构
处理是分布的,数据却是集中的,仍属于集中式数据库系统
-
物理上分布、逻辑上集中的分布式数据库结构
把全局数据模式按数据的来源和用途,合理分布在系统的多个节点上,使大部分的数据可以就近存取
-
物理上分布、逻辑上分布的分布式数据库结构
节点自治;没有全局数据模式
数据目录
数据目录存放一组关于数据的数据(描述数据模式的数据),也叫元数据(meta-data)。
数据目录也是表,可供查询。只能由系统定义,为系统所有。