【数据库CS751:事务处理Transaction Processing,如何为远程并发访问的系统安全地执行组合更新】——事务处理简介

本文探讨了事务处理在多用户系统中的重要性,特别是在在线航班预订系统中的应用。事务确保操作的原子性和隔离性,保证数据完整性。介绍了事务的四大特性:原子性、并发性、隔离性和持久性。同时,提到了数据库日志在事务恢复中的关键作用,以及如何通过回滚来处理中止的事务。
摘要由CSDN通过智能技术生成

目录

一、前言:

二、事务处理的简介:

1.现实的问题:

2.原子性要求:

3.并发性要求:

4.什么是事务

5.隔离:

6.耐用性/持久性

7.系统架构 

8.数据库日志:

9.回滚


一、前言:

今天说一说事务处理的内容,我们会介绍事务处理的很多概念与应用。

二、事务处理的简介:

1.现实的问题:

一个在线多站航班预订系统(web或app)。

用户提交他们的订单并期望得到:

  • 尽可能快地处理,也意味着用户在成功或失败时得到快速反馈。
  • 完全按照要求,信息保持完整:预订所有行程的航班,并提交完整的信息,否则什么都不做。
  • 并发性:不同的客户端可能会干扰,系统需要一直检查所有的可用航班,并告知用户

2.原子性要求:

完全按照要求,信息保持完整:预订所有行程的航班,并提交完整的信息,否则什么都不做。不允许出现只提交订单的部分信息的情况,要将整个订单看成一个最小的信息组。

3.并发性要求:

不同的客户端可能会干扰,系统需要一直检查所有的可用航班,并告知用户,如何能做到避免订单的提交干扰?

可能的解决方案:每次只执行一个用户订单。这个叫做DB-wide Mutual exclusion,数据库范围的互斥。那么在这种方案下,我们就需要确定什么时候一个事务结束,什么时候一个事务开始,那么就要进行事务划分。但是存在可伸缩性限制:DB-wide互斥对系统的吞吐量有严格的限制。

在互斥中,事务可能会被延迟。

4.什么是事务

事务:构成逻辑单元的一系列操作

5.隔离:

事务中的操作看起来与所有其他操作隔离。事务在系统中有一个虚拟串行视图。

6.耐用性/持久性

一旦用户被通知成功,事务将持久存在,而不会被撤销。

7.系统架构 

8.数据库日志:

日志是典型数据库管理器的中心特性。

日志包含:

  • 执行的写操作的列表。
  • 事务划分:(BOT)、中止、提交。

日志显示内容:

  1. 日志序列号,或LSN (nr:)
  2. 执行事务的事务ID (ta:)。
  3. 受影响对象的标识符(obj:)
  4. 写操作之前的值(before-image, b:))。
  5. 写操作后的值(after-image, a:)。 

日志的样子:

9.回滚

 被中止的事务必须在回滚中撤消。

回滚是在正常操作期间撤销事务(也称为事务恢复)。

回滚基于日志。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旋转跳跃我闭着眼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值