数据库具有共享性:分时共享、同时共享
多用户数据库系统:
- 允许多个用户同时使用的数据库系统(飞机订票数据库系统和银行数据库系统)
特点:在同一时刻运行的事务可以达到成百上千个
多事务执行方式:
- 事务串行执行:每个是时刻只有一个事务运行,其它事务必须等到该事务运行完才能执行,不能充分利用系统资源,发挥数据库共享性的特点。
- 交叉并发方式:在单处理器系统中,事务的并行执行,是指这些事务的并行操作轮流交叉的执行,并没有真正的并行,但是能够减少处理器的空闲时间,提高系统的执行效率。
- 同时并发方式:多处理机系统中,每个处理机可以运行一个事务,实现多个事务真正的并发运行,这是最理想的运行环境,当时受到硬件环境的制约。
事务并发执行带来的问题:
- 可能会产生多个事务同时存取同一数据的情况
- 可能会存取和存储不正确的数据破坏数据库的隔离性和一致性
数据库管理系统必须提供并发控制的机制,并发控制机制是衡量数据库系统性能的重要标志之一。
并发控制的责任:
- 对并发事务进行正确的调度
- 保证事务的隔离性
- 保证数据库的一致性
并发操作带来的数据不一致性:
- 丢失修改(写-写)
- 不可重复读(读-更新-读)
- 读脏数据(修改-读-撤销修改)
1、丢失修改
2、不可重复读
- 读-修改
- 读-删除
- 读-插入
3、读脏数据(脏数据:指的是临时的数据,不正确的数据)
数据库的不一致性:并发操作破坏了事务的隔离性
并发控制:用正确的方式调度并发操作
对数据库的应用有时允许某些不一致性,可以降低对一致性的要求,以减少系统的开销。
并发控制的主要技术
小结
读-删除、读-插入 是幻影现象