技术大牛成长课,从0到1带你手写一个数据库系统(完结)

59 阅读2分钟

技术大牛成长课,从0到1带你手写一个数据库系统(完结)

 技术大牛成长课,从0到1带你手写一个数据库系统(完结)

获取ZY↑↑方打开链接↑↑

事务的定义

在数据库管理系统(DBMS)中,事务(Transaction)是一组逻辑上相关的操作序列,这些操作要么全部完成,要么全部不完成。事务是数据库操作的基本单位,如果一个事务中的所有操作都成功执行,则整个事务成功;如果其中任何一个操作失败,则整个事务都会被撤销,以保持数据的一致性。

为什么支持事务

事务的存在主要是为了保证数据完整性和一致性,具体来说有以下几个方面:

  • 原子性(Atomicity) :事务被视为一个不可分割的工作单元,即事务中的所有操作要么全部完成,要么一个也不做。
  • 一致性(Consistency) :事务的执行不会违反任何约束条件,比如完整性约束等,确保数据库从一个一致的状态转换到另一个一致的状态。
  • 隔离性(Isolation) :并发执行的事务之间互不影响,每个事务看起来都是独立执行的,就好像系统中只有该事务在运行一样。
  • 持久性(Durability) :一旦事务完成,它对数据库所做的更改就是永久性的,即使系统出现故障也不会丢失。

数据库支持的事务特征

关于您当前使用的数据库支持哪些事务特性,我没有具体的上下文信息来确定这一点。不过,大多数现代的关系型数据库管理系统(RDBMS)通常会支持ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

  • 原子性:确保事务内的所有操作要么完全执行,要么完全不执行。
  • 一致性:事务的执行使数据库从一个一致状态转移到另一个一致状态,遵守所有的规则和约束。
  • 隔离性:确保事务的并发执行不会相互干扰,可以通过不同的隔离级别来实现,如读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。
  • 持久性:一旦事务被提交,其结果就会被永久保存下来,即使系统发生故障也是如此。