第10章 大数据与云数据库管理
以下圖片來自西安交通大學(xué)侯迪老師的ppt,僅供學(xué)習(xí)和復(fù)習(xí)使用,請(qǐng)勿轉(zhuǎn)載或他用
云數(shù)據(jù)管理的理論基礎(chǔ)(重點(diǎn))
1. CAP定理
C:consistency 一致性 即分布式系統(tǒng)中的所有數(shù)據(jù)備份在同一時(shí)刻是相同的
A:availablility 可用性 即使一些節(jié)點(diǎn)故障,整體還是能夠響應(yīng)客戶端的讀寫請(qǐng)求(總是能有結(jié)果)
P:partition tolerance 分區(qū)容忍性
一個(gè)分布式系統(tǒng)里面,節(jié)點(diǎn)組成的網(wǎng)絡(luò)本來應(yīng)該是連通的。然而可能因?yàn)橐恍┕收?#xff0c;使得有些節(jié)點(diǎn)之間不連通了,整個(gè)網(wǎng)絡(luò)就分成了幾塊區(qū)域。數(shù)據(jù)就散布在了這些不連通的區(qū)域中。這就叫分區(qū)。
當(dāng)你一個(gè)數(shù)據(jù)項(xiàng)只在一個(gè)節(jié)點(diǎn)中保存,那么分區(qū)出現(xiàn)后,和這個(gè)節(jié)點(diǎn)不連通的部分就訪問不到這個(gè)數(shù)據(jù)了。這時(shí)分區(qū)就是無(wú)法容忍的。
提高分區(qū)容忍性的辦法就是一個(gè)數(shù)據(jù)項(xiàng)復(fù)制到多個(gè)節(jié)點(diǎn)上,那么出現(xiàn)分區(qū)之后,這一數(shù)據(jù)項(xiàng)就可能分布到各個(gè)區(qū)里。容忍性就提高了。
然而,要把數(shù)據(jù)復(fù)制到多個(gè)節(jié)點(diǎn),就會(huì)帶來一致性的問題,就是多個(gè)節(jié)點(diǎn)上面的數(shù)據(jù)可能是不一致的。要保證一致,每次寫操作就都要等待全部節(jié)點(diǎn)寫成功,而這等待又會(huì)帶來可用性的問題。
總的來說就是,數(shù)據(jù)存在的節(jié)點(diǎn)越多,分區(qū)容忍性越高,但要復(fù)制更新的數(shù)據(jù)就越多,一致性就越難保證。為了保證一致性,更新所有節(jié)點(diǎn)數(shù)據(jù)所需要的時(shí)間就越長(zhǎng),可用性就會(huì)降低。
作者:鄔江 鏈接:CAP理論中的P到底是個(gè)什么意思? - 知乎 來源:知乎 著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
CAP中只能滿足任意2個(gè)
2. 一致性模型
-
強(qiáng)一致性
強(qiáng)一致性(即時(shí)一致性)假如A先寫入一個(gè)值到存儲(chǔ)系統(tǒng),存儲(chǔ)系統(tǒng)保證后續(xù)的讀操作都返回最新值。 例如:文件系統(tǒng),RDBMS都是強(qiáng)一致性的。
-
弱一致性
假如A先寫入了一個(gè)值到存儲(chǔ)系統(tǒng),存儲(chǔ)系統(tǒng)不能保證后續(xù)讀取操作能夠讀到最新值。 這種情況下有一個(gè)“不一致性窗口”,它特指從A寫入值,到后續(xù)操作A,B,C讀取到最新值這一段時(shí)間。 例如:某些cache系統(tǒng),網(wǎng)絡(luò)游戲其它玩家的數(shù)據(jù)和你沒什么關(guān)系,或是百度搜索引擎。
-
最終一致性
最終一致性是弱一致性的一種特例 假如A首先write了一個(gè)值到存儲(chǔ)系統(tǒng),存儲(chǔ)系統(tǒng)保證,如果在A,B,C后續(xù)讀取之前沒有其他寫操作更新同樣的值的話,最終所有的讀取操作都會(huì)讀取到A寫入的最新的值。 這種情況下,如果沒有失敗發(fā)生的話,“不一致性窗口”的大小依賴以下的幾個(gè)因素:
-
交互延遲
-
系統(tǒng)的負(fù)載
-
復(fù)制架構(gòu)中replica的個(gè)數(shù)(可以理解為master/slave模式中,slave的個(gè)數(shù))
例如:DNS,電子郵件。
服務(wù)器一致性(重點(diǎn))
要保證強(qiáng)一致性,則必須W+R>N
同時(shí)要保證寫操作的高可用(寫的節(jié)點(diǎn)少即寫的時(shí)間少則可用性高):W=1,R=N
同時(shí)要保證讀的高可用:R=1,W=N
平衡:W=R=N/2+1,這里除是整除
詳細(xì)分析見:
https://segmentfault.com/a/1190000002802797
3.BASE性質(zhì)
犧牲高一致性
4. 一致性哈希
5. PAXOS算法(略)
第10章習(xí)題
總結(jié)
以上是生活随笔為你收集整理的第10章 大数据与云数据库管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu18.04安装分析
- 下一篇: python从0到1_从0到1的Pyth