二:ACID

ACID:數據庫

  A:原子性:一次操做要麼執行成功,要麼執行不成功;併發

  C:一致性:是指事務的執行不能破壞數據的完整性和一致性,一個事務在執行前和執行後數據庫都要保持一致性狀態;分佈式

  I:隔離性:在併發的環境下,併發的事務是相互隔離的;spa

  D:持久性:事務一旦提交,那麼結果就變成不可更改的。隊列

隔離級別:事務

隔離級別 髒讀 可重讀 幻想讀
未受權讀 存在 存在 存在
受權讀 不存在 存在 存在
可重複讀 不存在 不存在 存在
串行化 不存在 不存在 不存在

下面是個簡單的畫圖表示這幾種狀況下讀取到的數據ci

說明串行化是最高級別,他講任務存在在一個隊列,串行化執行,table

這裏爲何在分佈式中說道關係型數據庫ACID這些東西,由於在傳統的單機模式下,ACID可以很好地知足咱們的業務需求,那麼在分佈式環境下面呢,數據分散在集羣內部不一樣的機器上,好比一個跨行轉帳的業務,一個是甲方銀行的轉出莊戶,收款方爲乙銀行的客戶,那麼映射到程序中就會使兩個不一樣的服務,這兩個服務之間仍是彼此獨立,無狀態,互不影響的,這兩個不一樣服務構成了一個分佈式下的任務,若是按照ACID區作確定不能夠,由於分佈式環境下存在拜占庭問題,通訊不可信,那麼咱們就要考慮其餘途徑。集羣

待續程序

相關文章
相關標籤/搜索