SQL中的ACID指的是什么

本篇內(nèi)容介紹了“SQL中的ACID指的是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

在嶺東等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都營銷網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,嶺東網(wǎng)站建設(shè)費用合理。

WAL的中心思想是對數(shù)據(jù)文件的修改(它們是表和索引的載體)必須是只能發(fā)生在這些修改已經(jīng)記錄了日志之后,也就是說,在日志記錄沖刷到永久存儲器之后。

如果我們遵循這個過程,那么我們就不需要在每次事務(wù)提交的時候都把數(shù)據(jù)頁沖刷到磁盤,因為我們知道在出現(xiàn)崩潰的情況下,

我們可以用日志來恢復(fù)數(shù)據(jù)庫:任何尚未附加到數(shù)據(jù)頁的記錄都將先從日志記錄中重做(這叫向前滾動恢復(fù),也叫做REDO)然后那些未提交的事務(wù)做的修改將被從數(shù)據(jù)頁中刪除(這叫向后滾動恢復(fù)-UNDO)。

1、一致性:

一個事務(wù)可以封裝狀態(tài)改變(除非它是一個只讀的)。

事務(wù)必須始終保持系統(tǒng)處于一致的狀態(tài),不管在任何給定的時間并發(fā)事務(wù)有多少。

也就是說:如果事務(wù)是并發(fā)多個,系統(tǒng)也必須如同串行事務(wù)一樣操作。

其主要特征是保護性和不變性(PreservinganInvariant),以轉(zhuǎn)賬案例為例,假設(shè)有五個賬戶,每個賬戶余額是100元,那么五個賬戶總額是500元

如果在這個5個賬戶之間同時發(fā)生多個轉(zhuǎn)賬,無論并發(fā)多少個,比如在A與B賬戶之間轉(zhuǎn)賬5元,在C與D賬戶之間轉(zhuǎn)賬10元,在B與E之間轉(zhuǎn)賬15元,五個賬戶總額也應(yīng)該還是500元,這就是保護性和不變性。

2、原子性:

整個事務(wù)中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個環(huán)節(jié)。

事務(wù)在執(zhí)行過程中發(fā)生錯誤,會被回滾(Rollback)到事務(wù)開始前的狀態(tài),就像這個事務(wù)從來沒有執(zhí)行過一樣。

3、持久性

在事務(wù)提交完成以后,該事務(wù)對數(shù)據(jù)庫所做的更改便持久的保存在數(shù)據(jù)庫之中,永久保存下來,并不會被回滾。

4、隔離性

隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時間內(nèi)執(zhí)行的唯一操作。

如果有兩個事務(wù),運行在相同的時間內(nèi),執(zhí)行相同的功能,事務(wù)的隔離性將確保每一事務(wù)在系統(tǒng)中認(rèn)為只有該事務(wù)在使用系統(tǒng)。

這種屬性有時稱為串行化,為了防止事務(wù)操作間的混淆,必須串行化或序列化請求,使得在同一時間僅有一個請求用于同一數(shù)據(jù)。

說明

由于一項操作通常會包含許多子操作,而這些子操作可能會因為硬件的損壞或其他因素產(chǎn)生問題,要正確實現(xiàn)ACID并不容易。

ACID建議數(shù)據(jù)庫將所有需要更新以及修改的資料一次操作完畢,但實際上并不可行。

目前主要有兩種方式實現(xiàn)ACID:第一種是Writeaheadlogging,也就是日志式的方式(現(xiàn)代數(shù)據(jù)庫均基于這種方式)。第二種是Shadowpaging。

相對于WAL(writeaheadlogging)技術(shù),shadowpaging技術(shù)實現(xiàn)起來比較簡單,消除了寫日志記錄的開銷恢復(fù)的速度也快(不需要redo和undo)。

“SQL中的ACID指的是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

文章標(biāo)題:SQL中的ACID指的是什么
URL地址:http://www.muchs.cn/article10/jdosdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、微信小程序網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)