<option id="mwy0y"><strong id="mwy0y"></strong></option>
  • <ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <ul id="mwy0y"></ul>
  • <del id="mwy0y"><dfn id="mwy0y"></dfn></del><ul id="mwy0y"><sup id="mwy0y"></sup></ul>
  • <abbr id="mwy0y"></abbr>

    千鋒教育-做有情懷、有良心、有品質的職業教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:長沙千鋒IT培訓  >  技術干貨  >  2pc和3pc的區別到底是什么?

    2pc和3pc的區別到底是什么?

    來源:千鋒教育
    發布人:xqq
    時間: 2023-10-11 03:03:46

    一、2pc和3pc的區別

    1.3pc比2pc多了一個can commit階段,減少了不必要的資源浪費。因為2pc在名列前茅階段會占用資源,而3pc在這個階段不占用資源,只是校驗一下sql,如果不能執行,就直接返回,減少了資源占用。

    2.引入超時機制。同時在協調者和參與者中都引入超時機制。

    2pc:只有協調者有超時機制,超時后,發送回滾指令。

    3pc:協調者和參與者都有超時機制。

    協調者超時: can commit,pre commit中,如果收不到參與者的反饋,則協調者向參與者發送中斷指令。
    參與者超時: pre commit階段,參與者進行中斷; do commit階段,參與者進行提交。

    兩階段提交(2PC)

    兩階段提交又稱2PC(two-phase commit protocol),2pc是一個非常經典的強一致、中心化的原子提交協議。這里所說的中心化是指協議中有兩類節點:一個是中心化協調者節點(coordinator)和N個參與者節點(partcipant)。
    三階段提交(3PC)

    三階段提交又稱3PC,其在兩階段提交的基礎上增加了CanCommit階段,并引入了超時機制。一旦事務參與者遲遲沒有收到協調者的Commit請求,就會自動進行本地commit,這樣相對有效地解決了協調者單點故障的問題。

    延伸閱讀:

    二、事務的基本概念

    就是一個程序執行單元,里面的操作要么全部執行成功,要么全部執行失敗,不允許只成功一半另外一半執行失敗的事情發生。例如一段事務代碼做了兩次數據庫更新操作,那么這兩次數據庫操作要么全部執行成功,要么全部回滾。

    事務有4個非常重要的特性,即我們常說的(ACID)。

    Atomicity(原子性):是說事務是一個不可分割的整體,所有操作要么全做,要么全不做;只要事務中有一個操作出錯,回滾到事務開始前的狀態的話,那么之前已經執行的所有操作都是無效的,都應該回滾到開始前的狀態。

    Consistency(一致性):是說事務執行前后,數據從一個狀態到另一個狀態必須是一致的,比如A向B轉賬( A、B的總金額就是一個一致性狀態),不可能出現A扣了錢,B卻沒收到的情況發生。

    Isolation(隔離性): 多個并發事務之間相互隔離,不能互相干擾。關于事務的隔離性,可能不是特別好理解,這里的并發事務是指兩個事務操作了同一份數據的情況;而對于并發事務操作同一份數據的隔離性問題,則是要求不能出現臟讀、幻讀的情況,即事務A不能讀取事務B還沒有提交的數據,或者在事務A讀取數據進行更新操作時,不允許事務B率先更新掉這條數據。而為了解決這個問題,常用的手段就是加鎖了,對于數據庫來說就是通過數據庫的相關鎖機制來保證。

    Durablity(持久性):事務完成后,對數據庫的更改是永久保存的,不能回滾。

    以上就是關于2pc和3pc的區別到底是什么的內容希望對大家有幫助。

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    猜你喜歡LIKE

    boxcode是什么軟件?

    2023-10-11

    er圖橢圓表示什么?

    2023-10-11

    ic與id的區別是什么?

    2023-10-11

    最新文章NEW

    業務需求管理辦法有哪些優點?

    2023-10-11

    軟路由是什么?

    2023-10-11

    什么是操作系統中資源分配的基本單位?

    2023-10-11

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網友熱搜 更多>>