ACID 屬性

詞彙 ACID 表達交易在關鍵任務應用程式中扮演的角色。交易處理先驅者的造詞中,ACID 代表單元性 (Atomicity)、一致性 (Consistency)、隔離性 (Isolation) 和持續性 (Durability)。

這些屬性確保了可預測的行為,並再加強交易角色為全有或全無的主張,在有許多變數時減少管理的負荷。

單元性

交易是工作的單位,其中一系列作業在應用程式的 BEGIN TRANSACTION 和 END TRANSACTION 陳述式之間發生。交易完整執行一次而且是單元性的 - 工作必須全部完成不然就不算完成。

與交易相關的作業通常共用通用目的而且相互依存。僅只執行這些作業的子集,系統就可能危害交易的整體目的。單元性將消除處理作業子集的機會。

一致性

交易是整合性的單位,因為它保留資料的一致性,轉換資料的一個一致狀態到資料的另一個一致狀態。

一致性要求交易繫結的資料在語意上完整保留。維護一致性的某些責任落在應用程式開發人員身上,其必須確認應用程式強制執行所有已知的完整性條件約束 (Constraint)。例如,開發移轉金錢的應用程式時,您應該避免在移轉期間任意移動小數點。

隔離性

交易是隔離性的單位 - 允許並行交易運作得像各個交易都是在系統上執行的唯一交易。

隔離性要求每一筆交易表現得像操作資料存放區的唯一交易,即使其他交易也同時在執行。一個交易絕不應該看見其他交易的中間階段。

當交易可序列化時,達到隔離性的最高層級。在這個層級,從一組並行交易獲得的結果與依序執行各個交易而獲得的結果完全相同。因為高度的隔離性會限制並行交易的數目,某些應用程式降低隔離性層級以換取較佳的輸送量。

持續性

交易也是一個修復的單位。如果交易成功,系統保證它的更新將保存,即使在認可之後電腦立刻當機。專門的記錄允許系統的重新啟動程序來完成未完成的作業,使得交易可以持久。

請參閱

交易處理基礎觀念