freeCodeCamp/guide/chinese/computer-science/databases/acid/index.md

30 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: ACID
localeTitle: 酸
---
## 酸
在计算机科学中ACID原子性一致性隔离性耐久性是用于数据库修改的一组属性。它们有助于保证事务的有效性即使出现错误或失败也是如此。
**事务**是满足ACID属性的任何数据库操作序列可以视为对数据的单个逻辑操作。一个例子是将资金从一个银行账户转移到另一个银行账户。这涉及多项更改例如借记一个帐户并贷记另一个帐户但被视为单个交易。
### 原子性
这意味着复杂的交易要么完全处理,要么根本不处理。如果事务的一部分失败,则整个事务未完成且数据库未更改。这样,如果发生崩溃,电源故障或错误,数据库最终不会处于仅完成部分事务的状态。
### 一致性
这意味着数据将保持一致。输入数据库的任何数据必须是有效的,并且必须基于您指定的任何约束。它确保任何事务都将数据库从一个有效状态更改为另一个有效状态。
### 隔离
这意味着如果两个事务同时执行,则一个事务无法从尚未完成的事务中读取数据。每个事务都将看到数据库,就好像事务是按顺序执行一样。如果一个事务需要读取另一个事务正在写入的数据,则必须等到另一个事务完成。不完整交易的影响不会影响另一笔交易。
### 耐久力
这意味着一旦交易完成,即使出现断电或其他错误,交易仍将如此。它保证将所有更改记录到非易失性存储介质(例如硬盘)中,并记录已完成的事务。
### 更多信息:
* ACID文章 [维基百科](https://en.wikipedia.org/wiki/ACID)
* 视频概述: [YouTube](https://www.youtube.com/watch?v=LSB4eceRsw8)