2009-11-09 34 views
0

我想了解數據庫轉換的ACID屬性:它們是如何實現的;哪部分是原子性,哪部分是耐久性等等。回滾原子和耐久性

比方說,我有兩個動作,AB轉換。不幸的是,當執行action B時,系統關閉。在系統重置後,我們知道數據庫將在執行action A之前保留(通過sqlite中的回滾焦點)狀態。那麼,哪個ACID屬性顯示出原子性或耐久性?

另一種情況:假設執行action B時發生錯誤,並通知應用程序,並且應用程序回滾。我認爲這是純粹的原子性,這是由用戶實現的,而不是由數據庫引擎實現的。我對麼?

回答

0

這兩個示例都強調原子性:A和B都提交,或者都不提交。

耐用性是一個財產,只有在交易承諾後纔會進入圖片。應用程序可以放心,如果COMMIT調用成功,則可以持久。系統重置或關閉電源不會恢復已提交事務的效果,因此其耐用性。