2020 06 27 ACID是什麼?描述一下?

2021-10-07 13:26:30 字數 740 閱讀 2522

參***如下:

福哥口訣法:事原一隔持(事務屬性acid:原子性、一致性、隔離性、永續性)

用銀行資料庫來舉例子解釋一下這四個特性

原子性: 乙個事務可能會包含多種操作,比如轉賬操作包括從你的賬戶上扣錢和對方賬戶加錢。雖然內部有多步操作,但是外部看來它們是乙個整體,要麼都成功執行,要麼都不要執行。否則事務進行到一半出現問題,就可能會出現你的賬戶扣了錢,但是對方賬戶沒有收到錢的問題

一致性:事務必須使整個系統狀態保持一致,比如你和對方來回轉賬,不管轉了多少次,你們兩個賬戶總金額總是一樣的,不會出現你轉出1000,對方只收到500的情況

隔離性:多個事務同時執行時,必須等前乙個事務執行完,才能執行後乙個事務,否則會造成資料紊亂。比如你賬戶有1000元,你給a轉賬500元。事務進行到一半,也就是把500元從你的賬戶扣除,但是此時該事務還沒有提交,b又向你轉賬1000元。此時第二個事務查詢你的賬戶仍是1000元,並以這個資料進行後續操作。結果就是第乙個事務執行完,你的賬戶變為500元,然後第二個事務執行完,你的賬戶變為2000元。銀行虧大了。所以正確的做法是第二個事務等待第乙個事務執行完,再讀取你的賬戶資料就是正確的500元了。當然資料庫中不可能所有事務都是這麼串聯的,否則效率太低,會通過不同級別的鎖來控制事務的隔離性。

永續性:事務執行的結果對系統狀態的影響必然是持久的,否則伺服器一重啟,資料全恢復前一天的記錄,銀行就甭幹了

什麼是事務的ACID

1 原子性 atomic 事務中各項操作,要麼全做要麼全不做,任何一項操作的失敗都會導致整個事務的失敗 2 一致性 consistent 事務結束後系統狀態是一致的 3 隔離性 isolated 併發執行的事務彼此無法看到對方的中間狀態 4 永續性 durable 事務完成後所做的改動都會被持久化,...

你是什麼就是什麼!

不管到了什麼樣的年紀,我們都很難放棄對外表的一些執著吧。我一直要到遇見了乙個很特別很特別的人,從他身上,我才真正的懂了 外表之於乙個人的真正意義是什麼 去年,我買了新房子,本來是想委託我的小學同學幫我做室內設計,但是因為一些因素,他推薦了他口中比他更厲害的大師級設計師哥哥給我,他說大哥一直都做大飯店...

HIDL是什麼,Binder是什麼?

hidl可以用於程序間通訊 ipc 而程序間的通訊通常採用binder機制 binder是android系統程序間通訊 ipc 方式之一。linux已經擁有的程序間通訊ipc手段 internet process connection 包括 管道 pipe 訊號 signal 跟蹤 trace 插口...