<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        CAP理論十二年回顧:規(guī)則變了

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 09:45:07
        文檔

        CAP理論十二年回顧:規(guī)則變了

        CAP理論十二年回顧:規(guī)則變了:本文首發(fā)于 Computer 雜志,由InfoQ和IEEE呈現(xiàn)給您。 CAP理論斷言任何基于網(wǎng)絡(luò)的數(shù)據(jù)共享系統(tǒng),最多只能滿足數(shù)據(jù)一致性、可用性、分區(qū)容忍性三要素中的兩個要素。但是通過顯式處理分區(qū)情形,系統(tǒng)設(shè)計師可以做到優(yōu)化數(shù)據(jù)一致性和可用性,進而取得三者之間的平
        推薦度:
        導(dǎo)讀CAP理論十二年回顧:規(guī)則變了:本文首發(fā)于 Computer 雜志,由InfoQ和IEEE呈現(xiàn)給您。 CAP理論斷言任何基于網(wǎng)絡(luò)的數(shù)據(jù)共享系統(tǒng),最多只能滿足數(shù)據(jù)一致性、可用性、分區(qū)容忍性三要素中的兩個要素。但是通過顯式處理分區(qū)情形,系統(tǒng)設(shè)計師可以做到優(yōu)化數(shù)據(jù)一致性和可用性,進而取得三者之間的平

        本文首發(fā)于 Computer 雜志,由InfoQ和IEEE呈現(xiàn)給您。 CAP理論斷言任何基于網(wǎng)絡(luò)的數(shù)據(jù)共享系統(tǒng),最多只能滿足數(shù)據(jù)一致性、可用性、分區(qū)容忍性三要素中的兩個要素。但是通過顯式處理分區(qū)情形,系統(tǒng)設(shè)計師可以做到優(yōu)化數(shù)據(jù)一致性和可用性,進而取得三者之間的平

        本文首發(fā)于  Computer 雜志,由InfoQ和IEEE呈現(xiàn)給您。

        CAP理論斷言任何基于網(wǎng)絡(luò)的數(shù)據(jù)共享系統(tǒng),最多只能滿足數(shù)據(jù)一致性、可用性、分區(qū)容忍性三要素中的兩個要素。但是通過顯式處理分區(qū)情形,系統(tǒng)設(shè)計師可以做到優(yōu)化數(shù)據(jù)一致性和可用性,進而取得三者之間的平衡。

        自打引入CAP理論的十幾年里,設(shè)計師和研究者已經(jīng)以它為理論基礎(chǔ)探索了各式各樣新穎的分布式系統(tǒng),甚至到了濫用的程度。NoSQL運動也將CAP理論當(dāng)作對抗傳統(tǒng)關(guān)系型數(shù)據(jù)庫的依據(jù)。

        CAP理論主張任何基于網(wǎng)絡(luò)的數(shù)據(jù)共享系統(tǒng),都最多只能擁有以下三條中的兩條:

        CAP理論的表述很好地服務(wù)了它的目的,即開闊設(shè)計師的思路,在多樣化的取舍方案下設(shè)計出多樣化的系統(tǒng)。在過去的十幾年里確實涌現(xiàn)了不計其數(shù)的新系統(tǒng),也隨之在數(shù)據(jù)一致性和可用性的相對關(guān)系上產(chǎn)生了相當(dāng)多的爭論。“三選二”的公式一直存在著誤導(dǎo)性,它會過分簡單化各性質(zhì)之間的相互關(guān)系。現(xiàn)在我們有必要辨析其中的細節(jié)。實際上只有“在分區(qū)存在的前提下呈現(xiàn)完美的數(shù)據(jù)一致性和可用性”這種很少見的情況是CAP理論不允許出現(xiàn)的。

        雖然設(shè)計師仍然需要在分區(qū)的前提下對數(shù)據(jù)一致性和可用性做取舍,但具體如何處理分區(qū)和恢復(fù)一致性,這里面有不計其數(shù)的變通方案和靈活度。當(dāng)代CAP實踐應(yīng)將目標(biāo)定為針對具體的應(yīng)用,在合理范圍內(nèi)最大化數(shù)據(jù)一致性和可用性的“合力”。這樣的思路延伸為如何規(guī)劃分區(qū)期間的操作和分區(qū)之后的恢復(fù),從而啟發(fā)設(shè)計師加深對CAP的認識,突破過去由于CAP理論的表述而產(chǎn)生的思維局限。

        Why "2 of 3" is missleading 為什么“三選二”公式有誤導(dǎo)性

        理解CAP理論的最簡單方式是想象兩個節(jié)點分處分區(qū)兩側(cè)。允許至少一個節(jié)點更新狀態(tài)會導(dǎo)致數(shù)據(jù)不一致,即喪失了C性質(zhì)。如果為了保證數(shù)據(jù)一致性,將分區(qū)一側(cè)的節(jié)點設(shè)置為不可用,那么又喪失了A性質(zhì)。除非兩個節(jié)點可以互相通信,才能既保證C又保證A,這又會導(dǎo)致喪失P性質(zhì)。一般來說跨區(qū)域的系統(tǒng),設(shè)計師無法舍棄P性質(zhì),那么就只能在數(shù)據(jù)一致性和可用性上做一個艱難選擇。不確切地說,NoSQL運動的主題其實是創(chuàng)造各種可用性優(yōu)先、數(shù)據(jù)一致性其次的方案;而傳統(tǒng)數(shù)據(jù)庫堅守ACID特性(原子性、一致性、隔離性、持久性),做的是相反的事情。下文“ACID、BASE、CAP”小節(jié)詳細說明了它們的差異。

        事實上,CAP理論本身就是在類似的討論中誕生的。早在1990年代中期,我和同事構(gòu)建了一系列的基于集群的跨區(qū)域系統(tǒng)(實質(zhì)上是早期的云計算),包括搜索引擎、緩存代理以及內(nèi)容分發(fā)系統(tǒng)1。從收入目標(biāo)以及合約規(guī)定來講,系統(tǒng)可用性是首要目標(biāo),因而我們常規(guī)會使用緩存或者事后校核更新日志來優(yōu)化系統(tǒng)的可用性。盡管這些策略提升了系統(tǒng)的可用性,但這是以犧牲系統(tǒng)數(shù)據(jù)一致性為代價的。

        關(guān)于“數(shù)據(jù)一致性 VS 可用性”的第一回合爭論,表現(xiàn)為ACID與BASE之爭2。當(dāng)時BASE還不怎么被人們接受,主要是大家看重ACID的優(yōu)點而不愿意放棄。提出CAP理論,目的是證明有必要開拓更廣闊的設(shè)計空間,因此才有了“三選二”公式。CAP理論最早在1998年秋季提出,1999年正式發(fā)表3,并在2000年登上Symposium on Principles of Distributed Computing大會的主題演講4,最終確立了該理論的正確性。

        “三選二”的觀點在幾個方面起了誤導(dǎo)作用,詳見下文“CAP之惑”小節(jié)的解釋。首先,由于分區(qū)很少發(fā)生,那么在系統(tǒng)不存在分區(qū)的情況下沒什么理由犧牲C或A。其次,虛擬主機,C與A之間的取舍可以在同一系統(tǒng)內(nèi)以非常細小的粒度反復(fù)發(fā)生,而每一次的決策可能因為具體的操作,乃至因為牽涉到特定的數(shù)據(jù)或用戶而有所不同。最后,這三種性質(zhì)都可以在程度上衡量,并不是非黑即白的有或無。可用性顯然是在0%到100%之間連續(xù)變化的,一致性分很多級別,連分區(qū)也可以細分為不同含義,如系統(tǒng)內(nèi)的不同部分對于是否存在分區(qū)可以有不一樣的認知。

        要探索這些細微的差別,就要突破傳統(tǒng)的分區(qū)處理方式,而這是一項根本性的挑戰(zhàn)。因為分區(qū)很少出現(xiàn),CAP在大多數(shù)時候允許完美的C和A。但當(dāng)分區(qū)存在或可感知其影響的情況下,就要預(yù)備一種策略去探知分區(qū)并顯式處理其影響。這樣的策略應(yīng)分為三個步驟:探知分區(qū)發(fā)生,進入顯式的分區(qū)模式以限制某些操作,啟動恢復(fù)過程以恢復(fù)數(shù)據(jù)一致性并補償分區(qū)期間發(fā)生的錯誤。

        ACID、BASE、CAP

        ACID和BASE代表了兩種截然相反的設(shè)計哲學(xué),分處一致性-可用性分布圖譜的兩極。ACID注重一致性,香港服務(wù)器,是數(shù)據(jù)庫的傳統(tǒng)設(shè)計思路。我和同事在1990年代晚期提出BASE,目的是抓住當(dāng)時正逐漸成型的一些針對高可用性的設(shè)計思路,并且把不同性質(zhì)之間的取舍和消長關(guān)系擺上臺面。現(xiàn)代大規(guī)模跨區(qū)域分布的系統(tǒng),包括云在內(nèi),同時運用了這兩種思路。

        這兩個術(shù)語都好記有余而精確不足,出現(xiàn)較晚的BASE硬湊的感覺更明顯,它是“Basically Available, Soft state, Eventually consistent(基本可用、軟狀態(tài)、最終一致性)”的首字母縮寫。其中的軟狀態(tài)和最終一致性這兩種技巧擅于對付存在分區(qū)的場合,并因此提高了可用性。

        CAP與ACID的關(guān)系更復(fù)雜一些,也因此引起更多誤解。其中一個原因是ACID的C和A字母所代表的概念不同于CAP的C和A。還有一個原因是選擇可用性只部分地影響ACID約束。ACID四項特性分別為:

        原子性(A)。所有的系統(tǒng)都受惠于原子性操作。當(dāng)我們考慮可用性的時候,沒有理由去改變分區(qū)兩側(cè)操作的原子性。而且滿足ACID定義的、高抽象層次的原子操作,實際上會簡化分區(qū)恢復(fù)。

        一致性(C)。ACID的C指的是事務(wù)不能破壞任何數(shù)據(jù)庫規(guī)則,如鍵的唯一性。與之相比,CAP的C僅指單一副本這個意義上的一致性,因此只是ACID一致性約束的一個嚴(yán)格的子集。ACID一致性不可能在分區(qū)過程中保持,因此分區(qū)恢復(fù)時需要重建ACID一致性。推而廣之,分區(qū)期間也許不可能維持某些不變性約束,所以有必要仔細考慮哪些操作應(yīng)該禁止,分區(qū)后又如何恢復(fù)這些不變性約束。

        隔離性(I)。隔離是CAP理論的核心:如果系統(tǒng)要求ACID隔離性,那么它在分區(qū)期間最多可以在分區(qū)一側(cè)維持操作。事務(wù)的可串行性(serializability)要求全局的通信,因此在分區(qū)的情況下不能成立。只要在分區(qū)恢復(fù)時進行補償,在分區(qū)前后保持一個較弱的正確性定義是可行的。

        持久性(D)。犧牲持久性沒有意義,理由和原子性一樣,雖然開發(fā)者有理由(持久性成本太高)選擇BASE風(fēng)格的軟狀態(tài)來避免實現(xiàn)持久性。這里有一個細節(jié),分區(qū)恢復(fù)可能因為回退持久性操作,而無意中破壞某項不變性約束。但只要恢復(fù)時給定分區(qū)兩側(cè)的持久性操作歷史記錄,破壞不變性約束的操作還是可以被檢測出來并修正的。通常來講,讓分區(qū)兩側(cè)的事務(wù)都滿足ACID特性會使得后續(xù)的分區(qū)恢復(fù)變得更容易,并且為分區(qū)恢復(fù)時事務(wù)的補償工作奠定了基本的條件。

        CAP和延遲的聯(lián)系

        CAP理論的經(jīng)典解釋,是忽略網(wǎng)絡(luò)延遲的,但在實際中延遲和分區(qū)緊密相關(guān)。CAP從理論變?yōu)楝F(xiàn)實的場景發(fā)生在操作的間歇,系統(tǒng)需要在這段時間內(nèi)做出關(guān)于分區(qū)的一個重要決定:

        最后一步的目的是恢復(fù)一致性,以及補償在系統(tǒng)分區(qū)期間程序產(chǎn)生的錯誤。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        CAP理論十二年回顧:規(guī)則變了

        CAP理論十二年回顧:規(guī)則變了:本文首發(fā)于 Computer 雜志,由InfoQ和IEEE呈現(xiàn)給您。 CAP理論斷言任何基于網(wǎng)絡(luò)的數(shù)據(jù)共享系統(tǒng),最多只能滿足數(shù)據(jù)一致性、可用性、分區(qū)容忍性三要素中的兩個要素。但是通過顯式處理分區(qū)情形,系統(tǒng)設(shè)計師可以做到優(yōu)化數(shù)據(jù)一致性和可用性,進而取得三者之間的平
        推薦度:
        標(biāo)簽: 規(guī)則 二年 變了
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 又黄又爽一线毛片免费观看| 亚洲成色www久久网站夜月| 亚洲欧洲免费无码| 国产麻豆剧传媒精品国产免费| 亚洲一区二区免费视频| 在线jyzzjyzz免费视频| 亚洲伊人久久综合中文成人网 | 99爱在线观看免费完整版| 亚洲视频在线免费看| 免费观看午夜在线欧差毛片| 亚洲av无码一区二区三区不卡| 亚洲an日韩专区在线| 成人A毛片免费观看网站| 蜜桃视频在线观看免费网址入口| 中文字幕亚洲图片| 亚洲一区二区三区在线观看蜜桃| 99re这里有免费视频精品 | 九九精品成人免费国产片| 性xxxx视频播放免费| 亚洲综合激情五月色一区| 免费看成人AA片无码视频吃奶| 国产免费不卡v片在线观看| 亚洲国产片在线观看| 91免费国产视频| 国产国产成年年人免费看片| 亚洲第一第二第三第四第五第六| 99爱在线观看免费完整版| 亚洲视频在线一区二区三区| 日韩a毛片免费观看| 无码永久免费AV网站| 亚洲国产成人精品无码区花野真一| 大学生a级毛片免费观看 | 亚洲综合一区二区| a级男女仿爱免费视频| 亚洲无线电影官网| 99久久成人国产精品免费| 亚洲国产精品第一区二区| 在线观看免费人成视频| 国产偷国产偷亚洲清高APP| 天天影院成人免费观看| 亚洲夂夂婷婷色拍WW47|