偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

數(shù)據(jù)庫的 ACID 屬性是什么意思?

數(shù)據(jù)庫 其他數(shù)據(jù)庫
事務(wù)提交后,即使系統(tǒng)發(fā)生故障,數(shù)據(jù)也會(huì)被持久化。數(shù)據(jù)庫會(huì)使用預(yù)寫日志(Write-Ahead Log)或類似機(jī)制來確保持久化。在分布式系統(tǒng)中,持久化意味著數(shù)據(jù)會(huì)復(fù)制到其他節(jié)點(diǎn)。

我們說到數(shù)據(jù)庫的時(shí)候,常常提到其 ACID 屬性。那么 ACID 是什么意思呢?

ACID 是用來描述數(shù)據(jù)庫事務(wù)的屬性。反過來說,滿足 ACID 屬性的一系列數(shù)據(jù)庫操作被稱為事務(wù)。

下圖解釋了 ACID 在數(shù)據(jù)庫事務(wù)中的含義。

圖片圖片

01 原子性(Atomicity)

事務(wù)中的寫操作是一次性執(zhí)行的,不能分解成更小的部分。如果在執(zhí)行事務(wù)時(shí)出現(xiàn)故障,同一個(gè)事務(wù)中的寫入將被回滾。應(yīng)用程序可以安全地重試同一事務(wù),而不會(huì)產(chǎn)生任何副作用。

因此,原子性意味著 "全有或全無"(All or Nothing)。

02 一致性(Consistency)

CAP 定理中的 "一致性 "是指每次讀取都會(huì)收到最近的寫入或錯(cuò)誤。與 CAP 定理不同的是,這里的一致性是指保留數(shù)據(jù)庫的不變性。事務(wù)寫入的任何數(shù)據(jù)都必須符合事先定義的規(guī)則,并保持?jǐn)?shù)據(jù)庫處于良好狀態(tài)。比如我們?cè)跀?shù)據(jù)庫中設(shè)置了 Trigger 用來更新關(guān)聯(lián)表,那么數(shù)據(jù)寫入后必須保證其正確執(zhí)行。

03 隔離(Isolation)

當(dāng)有來自兩個(gè)不同事務(wù)的并發(fā)寫入時(shí),這兩個(gè)事務(wù)是相互隔離的。最嚴(yán)格的隔離是 "序列化"(serializability),即每個(gè)事務(wù)運(yùn)行時(shí)都像數(shù)據(jù)庫中唯一運(yùn)行的事務(wù)一樣。然而,這在現(xiàn)實(shí)中很難實(shí)現(xiàn),所以我們通常采用較弱的隔離級(jí)別。

04 持久化(Durability)

事務(wù)提交后,即使系統(tǒng)發(fā)生故障,數(shù)據(jù)也會(huì)被持久化。數(shù)據(jù)庫會(huì)使用預(yù)寫日志(Write-Ahead Log)或類似機(jī)制來確保持久化。在分布式系統(tǒng)中,持久化意味著數(shù)據(jù)會(huì)復(fù)制到其他節(jié)點(diǎn)。

神書 DDIA (Designing Data Intensive Applications) 中關(guān)于 ACID 有幾點(diǎn)很好的見地,值得我們思考:

  1. 一致性其實(shí)是應(yīng)用程序的責(zé)任,而不是數(shù)據(jù)庫的職責(zé)范圍。應(yīng)用程序可以使用原子性和隔離來保證數(shù)據(jù)的一致性。而數(shù)據(jù)庫系統(tǒng)只能保證各種數(shù)據(jù)庫規(guī)則被執(zhí)行了。
  2. ACID 四個(gè)屬性中只有隔離是用來描述并發(fā)情況的,原子性并不描述并發(fā)情況。
  3. 各個(gè)弱隔離級(jí)別都會(huì)帶來一些限制,我們需要清楚其底層機(jī)制。
責(zé)任編輯:武曉燕 來源: ByteByteGo
相關(guān)推薦

2024-09-19 08:10:54

2020-10-14 07:50:57

DNS劫持

2018-10-08 15:42:37

VoLTE4G流量語音

2010-09-26 10:29:45

JVMJava虛擬機(jī)

2021-01-21 21:24:34

DevOps開發(fā)工具

2010-09-09 09:23:42

CSSDIV

2010-08-25 10:28:05

margin

2010-09-08 15:55:20

SQL事務(wù)特性

2019-10-15 10:01:43

機(jī)器學(xué)習(xí)正則化人工智能

2022-03-30 07:28:24

MySQL數(shù)據(jù)庫ACID

2025-01-10 09:25:10

NOSQL數(shù)據(jù)庫ACID

2013-01-18 15:25:27

無線網(wǎng)絡(luò)無線APWi-Fi

2014-07-28 08:28:38

Windows

2021-05-30 16:01:46

邊緣計(jì)算物聯(lián)網(wǎng)IOT

2014-08-07 10:32:02

Windows微軟

2022-06-15 07:32:24

數(shù)據(jù)庫分庫分表

2020-05-11 10:36:03

網(wǎng)絡(luò)工程割接網(wǎng)絡(luò)割接

2022-02-07 15:20:53

去中心化加密經(jīng)濟(jì)學(xué)加密貨幣

2024-01-10 16:11:41

2018-08-26 15:39:03

數(shù)據(jù)庫MySQL索引
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)