事務的ACID特性

Jujay發表於2011-10-08
前一陣子參加一個面試,面試官問了我一個最簡單的事務ACID特性,我卻回答的很不好,而且還忘了其中I的含義了,真是不應該啊!看來即使再簡單的東西,很久不看也會忘記。
1. Atomicity (原子性)
原子性很容易理解,也就是說事務裡的所有操作要麼全部做完,要麼都不做,事務成功的條件是事務裡的所有操作都成功,只要有一個操作失敗,整個事務就失敗,需要回滾。
2. Consistency(一致性)
一致性也比較容易理解,也就是說資料庫要一直處於一致的狀態,事務開始前是一個一致狀態,事務結束後是另一個一致狀態,事務將資料庫從一個一致狀態轉移到另一個一致狀態。
3. Isolation(獨立性)
從字面上來說,獨立性是其中最難理解的一點,但如果結合Oracle中的undo,也就不難理解了。所謂的獨立性就是指併發的事務之間不會互相影響,如果一個事務要訪問的資料正在被另外一個事務修改,只要另外一個事務還未提交,它所訪問的資料就不受未提交事務的影響。換句話說,一個事務的影響在該事務提交前對其它事務是不可見的。
注意:這裡的Isolation跟隔離級別(Isolation Level)是無關的。
4. Durability(永續性)
永續性也不難理解,是指一旦事務提交後,它所做的修改將會永久的儲存在資料庫上,即使出現當機也不會丟失。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-708761/,如需轉載,請註明出處,否則將追究法律責任。

相關文章