事務的基本特徵和屬性

2021-08-26 23:40:54 字數 730 閱讀 2250

事務是訪問並可能更新資料庫中各項資料項的乙個程式執行單元。

事務應該具有四個屬性:原子性、一致性、隔離性、持續性。這四個屬性通常稱為acid特徵

事務具有的四個屬性:

事務的原子性:乙個事務包含多個操作,這些操作要麼全部執行,要麼全部不執行。實現事務的原子性,要支援回滾操作,在某個操作失敗後,會滾到事務執行之前的狀態

回滾實際上是乙個比較高層抽象的概念,大多數db在實現事務時,是在事務操作的資料快找上進行的,如果有錯誤並不會提交,而在其他支援簡單事務的

系統中,不會在快照上更新,而是直接運算元據庫,可以先預演一邊所要執行的操作,如果失敗則這些操作不會被執行,通過這種方式很簡單的實現了原子性

事務的一致性:指事務操作前後,資料庫中的資料是一致的(符合業務邏輯的完整操作),資料滿足業務規則約束(例如:賬號金額的轉出和轉入),與原子性對應

事務的隔離性:併發事物之間互相影響的程度,比如乙個事務會不會讀取到另乙個未提交的事務修改的資料。在事務併發操作時,可能出現的問題有:

髒讀:事物a修改了乙個資料,但未提交,事務b讀到了事務a未提交的更新結果,如果事務a提交失敗,事務b讀到的就是髒讀

不可重複讀:在同乙個事務中,對於同乙份資料讀取到的結果就不一致。不可重複讀出現的原因就是事務併發修改記錄,要避免這種情況,最簡單的辦法就是對要修改的記錄加鎖

但這會導致鎖的競爭加劇,影響效能。另一種方法是通過mvcc可以在無鎖的情況下,避免不可重複讀

事務的永續性:事務提交之後,資料的修改是永久的

事務的四個基本特徵

事務是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可分割的工作單位。事務必須滿足四大基本特徵 acid 原子性 atomicity 表示事務內操作不可分割,要麼都成功,要麼都失敗 一致性 consistency 要麼都成功,要麼都失敗。事務必須是是資料庫從乙個一...

RTOS基本特徵

實時作業系統與其相對的是分時作業系統,unix就是典型的分時作業系統。當分時作業系統允許對中斷處理的優先順序做調整,是系統對外部的事件響應的速度保證不大於某一特定的時間間隔時,就構成了實時作業系統。1 實時性 響應外部事件的時間必須在限定的時間範圍內,在某些情況下還需要是確定的 可重複實現的,不管當...

OpenCV 輪廓基本特徵

一 概述 我們通過cvfindcontours 函式獲取得影象輪廓有何作用呢?一般來說,我們對輪廓常用的操作有識別和處理,另外相關的還有多種對輪廓的處理,如簡化或擬合輪廓,匹配輪廓到模板,等等。我們在輪廓處理中經常需要對輪廓變化一些特徵進行概括,比如長度或者一些反映輪廓整體大小的度量。另外輪廓矩也是...