
事务(Transaction),指访问并更新数据库中数据项的程序执行单元,通常由数据库操纵语言或编程语言编写,通过begin transaction和end transaction界定操作范围。作为恢复和并发控制的基本单位,其执行逻辑包含全体操作的整体性。
事务具备ACID特性:原子性确保操作全成功或全失败;一致性保证数据库状态转换有效,即事务执行前后数据库都必须处于一致状态;隔离性防止并发事务干扰,其通过不同的隔离级别(如读未提交、读已提交、可重复读、串行化)实现;持久性使提交结果永久生效。
事务类型分为手动事务与自动事务。手动事务需显式控制事务边界、资源登记及提交回滚流程,具体表现为显式事务;而自动事务通过声明属性(如.NET框架中的事务标记)实现物理事务自动协调,数据资源访问时自动流向对应资源管理器,在自动提交模式下,每个语句都在自己的事务中执行。
随着分布式系统的发展,分布式事务成为关键,用于保障跨服务、跨数据库操作的一致性。例如,Google Spanner通过TrueTime API实现了全球分布式事务,而国产数据库如OceanBase具备单库6100万TPS的峰值事务处理能力。分布式事务在金融支付、账务等对一致性要求极高的场景中广泛应用。事务的ACID特性通常通过预写日志(WAL)、锁机制以及多版本并发控制(MVCC)等技术实现,以在保证数据一致性的同时优化并发性能。
想要了解更多“事务(计算机术语)”的信息,请点击:事务(计算机术语)百科
