首頁>Club>
17
回覆列表
  • 1 # 淘寶客老妖

    ACID,是指資料庫管理系統(DBMS)在寫入或更新資料的過程中,為保證事務(transaction)是正確可靠的,所必須具備的四個特性:原子性(atomicity,或稱不可分割性)、一致性(consistency)、隔離性(isolation,又稱獨立性)、永續性(durability)。

    在資料庫系統中,一個事務是指:由一系列資料庫操作組成的一個完整的邏輯過程。例如銀行轉帳,從原賬戶扣除金額,以及向目標賬戶新增金額,這兩個資料庫操作的總和,構成一個完整的邏輯過程,不可拆分。這個過程被稱為一個事務,具有ACID特性。ACID的概念在ISO/IEC 10026-1:1992檔案的第四段內有所說明

  • 2 # 使用者5524264373265

    事務在當今的企業系統無處不在,即使在高併發環境下也可以提供資料的完整性。一個事務是一個只包含所有讀/寫操作成功的集合。

    一個事務本質上有四個特點ACID:

    Atomicity原子性

    Consistency一致性

    Isolation隔離性

    Durability耐久性

    原子性

    原子性任務是一個獨立的操作單元,是一種要麼全部是,要麼全部不是的原子單位性的操作。

    一致性

    一個事務可以封裝狀態改變(除非它是一個只讀的)。事務必須始終保持系統處於一致的狀態,不管在任何給定的時間併發事務有多少。

    一致性有下面特點:

    如果一個操作觸發輔助操作(級聯,觸發器),這些也必須成功,否則交易失敗。

    如果系統是由多個節點組成,一致性規定所有的變化必須傳播到所有節點(多主複製)。如果從站節點是非同步更新,那麼我們打破一致性規則,系統成為“最終一致性”。

    一個事務是資料狀態的切換,因此,如果事務是併發多個,系統也必須如同序列事務一樣操作。

    在現實中,事務系統遭遇併發請求時,這種序列化是有成本的, Amdahl法則描述如下:它是描述序列序列執行和併發之間的關係。

    “一個程式在平行計算情況下使用多個處理器所能提升的速度是由這個程式中序列執行部分的時間決定的。”

    大多數資料庫管理系統選擇(預設情況下)是放寬一致性,以達到更好的併發性。

    隔離性

    事務是併發控制機制,他們交錯使用時也能提供一致性。隔離讓我們隱藏來自外部世界未提交的狀態變化,一個失敗的事務不應該破壞系統的狀態。隔離是透過用悲觀或樂觀鎖機制實現的。

    耐久性

    一個成功的事務將永久性地改變系統的狀態,所以在它結束之前,所有導致狀態的變化都記錄在一個持久的事務日誌中。如果我們的系統突然受到系統崩潰或斷電,那麼所有未完成已提交的事務可能會重演。

  • 中秋節和大豐收的關聯?
  • 歷史上,有哪些誤信別人的假情報,最後反倒超車的例子?