国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

政府網(wǎng)站內(nèi)容建設(shè)方案怎么免費(fèi)注冊(cè)域名

政府網(wǎng)站內(nèi)容建設(shè)方案,怎么免費(fèi)注冊(cè)域名,做網(wǎng)站廣告送報(bào)紙廣告,文化建設(shè)意義書(shū)接上一篇文章,MySQL通過(guò)不同的策略來(lái)保證事務(wù)的ACID:原子性、一致性、隔離性、持久性,通過(guò)鎖機(jī)制實(shí)現(xiàn)隔離性,通過(guò)redoundobinlog三種日志實(shí)現(xiàn)事務(wù)的原子性、一致性和持久性。 本文主要講MySQL的持久性的一個(gè)實(shí)現(xiàn)機(jī)制-兩階段提交…

??? 書(shū)接上一篇文章,MySQL通過(guò)不同的策略來(lái)保證事務(wù)的ACID:原子性、一致性、隔離性、持久性,通過(guò)鎖機(jī)制實(shí)現(xiàn)隔離性,通過(guò)redo+undo+binlog三種日志實(shí)現(xiàn)事務(wù)的原子性、一致性和持久性。

??? 本文主要講MySQL的持久性的一個(gè)實(shí)現(xiàn)機(jī)制-兩階段提交策略。

?? 兩階段提交定義

?? 兩階段提交指的是MySQL在提交事務(wù)將臟數(shù)據(jù)刷盤(pán)的過(guò)程分為prepare和commit兩個(gè)階段,當(dāng)客戶端commit命令開(kāi)始執(zhí)行后,MySQL內(nèi)部開(kāi)啟一個(gè)XA(分布式事務(wù))事務(wù),并為該事務(wù)分配一個(gè)XID,先將redo log緩存中的數(shù)據(jù)刷新到日志,redo log刷盤(pán)后,redo log對(duì)該事務(wù)標(biāo)記為prepare,磁盤(pán)的redo日志中也就存在該XID。接著,將binlog緩存中的數(shù)據(jù)刷盤(pán),binlog刷盤(pán)完成后,磁盤(pán)的binlog中會(huì)存在該XID,會(huì)將該redo log上的事務(wù)標(biāo)記為commit。至此,客戶端發(fā)起的commit命令執(zhí)行完成。

??? 那么問(wèn)題來(lái)了,提交一個(gè)事務(wù)的時(shí)候直接寫(xiě)到binlog中不行么,為啥非得先對(duì)redo log刷盤(pán),然后再對(duì)binlog刷盤(pán)?

? 兩階段提交策略的作用

??? 這就引出了兩階段提交策略的作用:確保MySQL數(shù)據(jù)庫(kù)崩潰后重啟時(shí)能快速恢復(fù)。這個(gè)快速是建立在使用redo log恢復(fù)基礎(chǔ)上的,因?yàn)閞edo log的數(shù)據(jù)頁(yè)記錄的是物理頁(yè)的修改,并且大小和物理表空間中數(shù)據(jù)頁(yè)相同,利用redo log可以快速將未提交的事務(wù)提交并完成刷盤(pán),因此提交事務(wù)時(shí)要使用兩階段提交策略。

??? 數(shù)據(jù)庫(kù)崩潰時(shí)兩階段提交的不同情況

??? 數(shù)據(jù)庫(kù)崩潰時(shí),提交的事務(wù)(假設(shè)對(duì)表user中id=1 name="張三"的記錄執(zhí)行 update user set name="李四" where id = 1 )可能遇到如下

??? 1、redo log已經(jīng)刷盤(pán),事務(wù)被標(biāo)記為prepare狀態(tài),binlog尚未刷盤(pán),MySQL內(nèi)部開(kāi)啟的XA事務(wù)會(huì)給redo log標(biāo)記唯一的事務(wù)號(hào),binlog中不存在該事務(wù)號(hào)。

??? 2、redo log已經(jīng)刷盤(pán),事務(wù)被標(biāo)記為prepare狀態(tài),binlog已經(jīng)完成刷盤(pán),MySQL內(nèi)部開(kāi)啟的XA事務(wù)會(huì)給redo log和binlog分別標(biāo)記相同的事務(wù)號(hào)。

??? 3、redo log和binlog都已經(jīng)完成刷盤(pán),事務(wù)被標(biāo)記為commit狀態(tài)。

??? 數(shù)據(jù)庫(kù)崩潰恢復(fù)時(shí),會(huì)檢查redo log中的XA事務(wù)號(hào)是否在binlog中能找到。

??? 針對(duì)第1種情況,binlog中不存在redo log 中的XA事務(wù)號(hào),則直接將事務(wù)回滾。

??? 針對(duì)第2種情況,binlog中找到了redo log中的XA事務(wù)號(hào),但事務(wù)仍然是prepare狀態(tài),說(shuō)明binlog將修改刷盤(pán)后還沒(méi)有來(lái)得及標(biāo)記該事務(wù)為commit狀態(tài)數(shù)據(jù)庫(kù)就已經(jīng)崩潰了,這個(gè)時(shí)候直接提交該事務(wù)即可。

????針對(duì)第3種情況,說(shuō)明事務(wù)已經(jīng)成功提交,崩潰恢復(fù)時(shí)事務(wù)無(wú)須處理。

??? 到這里兩階段提交策略就沒(méi)有問(wèn)題了,但愛(ài)學(xué)習(xí)的小伙伴肯定就會(huì)問(wèn)了,都說(shuō)學(xué)以致用,那么理解兩階段提交策略原理到底有什么用呢?

??? 哈哈哈哈,這個(gè)問(wèn)題我也在思考,除了裝逼之外,我暫時(shí)想不到其他在工作中能具體用到的地方,留作以后補(bǔ)充吧。

???

http://aloenet.com.cn/news/31499.html

相關(guān)文章:

  • 保定網(wǎng)站定制公司seo少女
  • 建站廣告?zhèn)€人網(wǎng)站首頁(yè)設(shè)計(jì)
  • 邢臺(tái)企業(yè)做網(wǎng)站費(fèi)用哪里可以建網(wǎng)站
  • 瑞麗網(wǎng)站建設(shè)深圳整站seo
  • 湖南做網(wǎng)站 真好磐石網(wǎng)絡(luò)東莞公司網(wǎng)上推廣
  • 網(wǎng)站建設(shè)銷(xiāo)售發(fā)展前景百度指數(shù)關(guān)鍵詞搜索趨勢(shì)
  • 英文seo公司seo文章
  • 網(wǎng)站域名使用期怎么去推廣自己的店鋪
  • 做ar的網(wǎng)站搜資源的搜索引擎
  • 婦聯(lián)網(wǎng)站建設(shè)方案搜索歷史記錄
  • 熟人做網(wǎng)站怎么收錢(qián)湖南seo服務(wù)電話
  • 東昌網(wǎng)站建設(shè)網(wǎng)站建設(shè)策劃書(shū)案例
  • 做網(wǎng)站用的云控制臺(tái)活動(dòng)推廣軟文范例
  • 重慶有什么好玩的旅游景點(diǎn)寧波seo外包優(yōu)化
  • 濟(jì)南制作網(wǎng)站的公司哪家好汕頭網(wǎng)站建設(shè)優(yōu)化
  • 網(wǎng)站被墻301怎么做付費(fèi)推廣平臺(tái)有哪些
  • 科威網(wǎng)絡(luò)做網(wǎng)站怎么樣html網(wǎng)頁(yè)制作app
  • 網(wǎng)站建設(shè)合同是否繳納印花稅中國(guó)網(wǎng)站排名查詢
  • 金寨縣建設(shè)規(guī)劃局網(wǎng)站信息流廣告有哪些投放平臺(tái)
  • 做夾具需要知道的幾個(gè)網(wǎng)站企業(yè)網(wǎng)站seo方案
  • 中億豐建設(shè)集團(tuán)股份有限公司網(wǎng)站百度競(jìng)價(jià)是什么工作
  • 學(xué)做餅干網(wǎng)站發(fā)稿網(wǎng)
  • 行業(yè)門(mén)戶網(wǎng)站模板中國(guó)剛剛發(fā)生8件大事
  • 如何開(kāi)發(fā)app小程序win優(yōu)化大師
  • 北京市文化局政務(wù)網(wǎng)站建設(shè)項(xiàng)目獨(dú)立站seo怎么做
  • 深圳網(wǎng)站制作鄭州怎么優(yōu)化網(wǎng)站排名靠前
  • 南通seo公司網(wǎng)站免費(fèi)推廣產(chǎn)品平臺(tái)有哪些
  • 上海奉賢 網(wǎng)站建設(shè)百度指數(shù)查詢移動(dòng)版
  • 廉江網(wǎng)站建設(shè)公眾號(hào)推廣合作平臺(tái)
  • html網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)seo優(yōu)化主要做什么