ACID
ACID (正體)
ACID,是指在数据库管理系统(DBMS)中事务所具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。
在数据库系统中,一个事务是指由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐,从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和构成一个完整的逻辑过程,不可拆分。这个过程被称为一个事务,具有ACID特性。
- 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
- 在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
- 两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。
- 在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
ACID的概念在ISO/IEC 10026-1:1992文件的第四段内有所说明。
实现
由于一项操作通常会包含许多子操作,而这些子操作可能会因为硬件的损坏或其他因素产生问题,要正确实现ACID并不容易。ACID建议数据库将所有需要更新以及修改的资料一次操作完毕,但实际上并不可行。
目前主要有两种方式实现ACID:第一种是Write ahead logging,也就是日志式的方式。第二种是Shadow paging。
相关条目
外部连结
| 数据库管理系统(DBMS) ( 查看 • 讨论 • 编辑 • 历史 ) |
|
概念
数据库 • 数据库模型 • Database storage • 关系模型 • 分布式数据库 • ACID • 空值
关系数据库 • 关系代数 • 关系演算 • 数据库正规化 • 参照完整性 • 关系数据库管理系统
主键, 外来键, 代理主键, 超键值, 候选键
|
|
Objects
触发器 • 视图 • 数据库表 • 指标 • Log • Transaction • 数据库索引
存储程序 • Partition
|
SQL
Select • Insert • Update • Merge • Delete • Join • Union • Create • Drop
Begin work • Commit • Rollback • Truncate • Alter
|
| 数据库管理系统的实施 |
|
实施类型
Relational • Flat file • Deductive • Dimensional • 阶层式 • 对象数据库 • Object relational • Temporal • XML data stores
|
|
数据库产品
对象型 (对比) • 关系型 (对比)
|
数据库成分
Query language • Query optimizer • Query plan • ODBC • JDBC
|
! __
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History