ACID

代表“Atomicity, Consistency, Isolation, Durability”。ACID 这一缩写定义了 数据库 必须具备的四项特性,以确保数据完整性。具体来说,这些特性适用于向数据库写入数据的数据库操作,例如插入、更新和删除 记录

下面介绍 ACID 的四个要素:

1. 原子性

原子性保证每个事务都是“全有或全无”的事件。换句话说,事务要么完全成功,要么完全失败。原子操作通过禁止部分事务来防止数据损坏。如果某项操作无法完成,就会“回滚”到之前的状态,就好像从未发生过一样。

某些 数据库管理系统 可能需要特定配置才能符合 ACID 标准。例如,MySQL 符合 ACID 标准,但前提是使用支持原子操作的 。InnoDB 表支持事务,包括 COMMITROLLBACK 语句,因此符合 ACID 标准。不支持事务的 MyISAM 表则不符合 ACID 标准。

2. 一致性

一致性确保只有有效数据才会写入数据库。例如,数据库不会接受无效事务或无法识别的数据。此外,数据库还可能使用“双写缓冲区”临时存储新事务。如果数据库或主机系统意外 崩溃,就可以从 缓冲区 恢复数据。

3. 隔离性

隔离性确保每个事务都单独处理。一些数据库每秒多次读取和写入 数据,这可能需要并发事务。即使事务同时进行,它们仍然可以彼此隔离。例如,如果一个操作失败,也不会影响同时进行的其他操作。隔离性对数据库安全也非常重要,因为它可以防止一个事务中的数据被另一个事务看到。

4. 持久性

持久性保证事务处理完成或“提交”到数据库后,数据会被存储。它要求将数据写入 非易失性存储器,这样即使 应用程序 崩溃或发生断电,事务也不会丢失。

虽然数据库软件有助于确保数据库的持久性,但硬件同样重要。例如,如果存储设备发生故障,RAID 存储配置可以提供冗余。如果主电源不可用,UPS 电池备份可以维持电力,从而防止数据丢失。


NOTE:“Acid”(小写)是一项 Web 浏览器 测试,用于检查浏览器是否支持特定的 HTML 标签和 CSS 规则。最近的一项测试 Acid3 于 2008 年由 Web Standards Project 组织制作。

更新日期 September 5, 2020 作者 Per C.

quiz测试你的知识

What process describes loading information into memory before it's needed?

A
Pretraining
0%
B
Prefetching
0%
C
Prebinding
0%
D
Preempting
0%
Correct! Incorrect!     View the Prefetch definition.
More Quizzes →

Tech Terms 计算机词典

本页中ACID的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。