論文閱讀筆記 - Megastore : Providing Scalable, Highly Available Storage for Interactive Services

Megastore在論文中被介紹為一種"storage system"比原,但我更傾向于認(rèn)為它是一種跨地域的數(shù)據(jù)庫存儲(chǔ)方案降狠。

Megastore 提供一個(gè)可伸縮的西篓,高可靠锣光,一致性好,跨地域蔬浙,低延遲猪落,易用性好的數(shù)據(jù)庫存儲(chǔ)方案

System Design

Entity Group
Entity Group

在數(shù)據(jù)量過于龐大的時(shí)候,數(shù)據(jù)的增刪改查都是十分耗時(shí)的操作畴博,特別是join操作笨忌,相信很多人都深有感觸,在跨地域的data centers之間的延遲與通信消耗更是難以承受的俱病。

Megastore不出意外地也對(duì)數(shù)據(jù)進(jìn)行了partition, 這是通過對(duì)實(shí)踐中的業(yè)務(wù)觀察得到的結(jié)論官疲,大部分?jǐn)?shù)據(jù)都可以通過某種規(guī)則進(jìn)行partition(如按用戶對(duì)數(shù)據(jù)進(jìn)行劃分),這無形中契合了之前學(xué)過的現(xiàn)實(shí)世界的小世界特性亮隙。這些數(shù)據(jù)的小集合更加適合用NoSQL的key-value形式存儲(chǔ)途凫,而小集合之間的關(guān)系則比較適合關(guān)系型數(shù)據(jù)庫。而Megasotre也正是使用這種思想設(shè)計(jì)的溢吻。

在應(yīng)用層面维费,Meagastore結(jié)合了關(guān)系型數(shù)據(jù)庫與與非關(guān)系型數(shù)據(jù)庫,設(shè)計(jì)了很簡(jiǎn)潔的API促王,屏蔽了底層的實(shí)現(xiàn)細(xì)節(jié)犀盟。同時(shí)提供了Index,schema蝇狼,queue等以提高底層BigTable數(shù)據(jù)庫的易用性且蓬。使用megastore client Library屏蔽底層實(shí)現(xiàn)復(fù)雜性的同時(shí),也提供給用戶足夠的靈活性來指導(dǎo)數(shù)據(jù)的存放和讀寫以提高效率题翰。

一個(gè)entity group內(nèi)部恶阴,必須要滿足ACID的強(qiáng)一致性,因?yàn)檫@些數(shù)據(jù)很大概率是會(huì)被同時(shí)實(shí)用的豹障,但是對(duì)于跨entity group的操作冯事,則只保證部分的一致性,因?yàn)闃I(yè)務(wù)中對(duì)其要求沒有這么高血公。

Replication

System Design
System Design

一旦涉及到分布式系統(tǒng)設(shè)計(jì)昵仅,replication就是永恒的話題。在Megastore中累魔,同一個(gè)entity group的replica是可以跨data centers存在的摔笤,這是為了保證分布式系統(tǒng)的高可靠性,屬于很正常的設(shè)計(jì)垦写。比較復(fù)雜的部分往往是replica之間數(shù)據(jù)的同步與更新吕世。

Megastore沒有實(shí)用比較常見的同步、異步Master-Slave模型來保證數(shù)據(jù)的讀寫一致性梯投,而是采用了Paxos通過自選舉majority的形式來進(jìn)行replica之間的同步命辖。這毫無疑問可以解決Single point of failure問題况毅。

然而,這樣做的一個(gè)問題在于跨地域replica之間的通信開銷有些過大了尔艇,Megastore通過在每個(gè)data centers的replica加一個(gè)使用Coordinator服務(wù)來解決這個(gè)問題尔许,Coordinator保存在當(dāng)前data center中哪些replica的數(shù)據(jù)是up-to-date的,如果是這樣的replica终娃,就不必使用Paxos來得到最新數(shù)據(jù)味廊,直接local read就可以,有一種緩存的感覺有木有棠耕。

最后毡们,如果coordinator失效了,寫操作會(huì)被Block昧辽,這也就要求有一個(gè)機(jī)制檢測(cè)coordinator的失效衙熔,megastore使用Chubby Lock服務(wù)檢測(cè)coordinator失效,對(duì)于coordinator自己來說搅荞,如果更新chubby lock失敗红氯,就認(rèn)為本地的數(shù)據(jù)都不是最新的,Read操作都要走Paxos流程咕痛,對(duì)于寫操作痢甘,在檢測(cè)到coordinator失效時(shí)就不等待他的invalidate操作返回,在失效被發(fā)現(xiàn)前茉贡,大概有10秒的時(shí)間write會(huì)被block塞栅,但是,實(shí)效的coordinator的恢復(fù)期間腔丧,讀寫操作都不會(huì)被block放椰,依然可以正常進(jìn)行。

總結(jié)

Megastore的核心思想是:

使用Paxos來同步和保證數(shù)據(jù)Replica的讀寫一致性愉粤,采用劃分EntityGroup的方式來減少Paxos過程的沖突砾医。使用Coordinator/localread/chubby lock以及其它各種機(jī)制來提高效率,減少延遲衣厘,檢測(cè)失效如蚜。

鏈接

  1. 論文閱讀筆記 - Megastore : ProvidingScalable, Highly Available Storage for Interactive Services
  2. Megastore
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市影暴,隨后出現(xiàn)的幾起案子错邦,更是在濱河造成了極大的恐慌,老刑警劉巖型宙,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撬呢,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡早歇,警方通過查閱死者的電腦和手機(jī)倾芝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箭跳,“玉大人晨另,你說我怎么就攤上這事∑仔眨” “怎么了借尿?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)屉来。 經(jīng)常有香客問我路翻,道長(zhǎng),這世上最難降的妖魔是什么茄靠? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任茂契,我火速辦了婚禮,結(jié)果婚禮上慨绳,老公的妹妹穿的比我還像新娘掉冶。我一直安慰自己,他們只是感情好脐雪,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布厌小。 她就那樣靜靜地躺著,像睡著了一般战秋。 火紅的嫁衣襯著肌膚如雪璧亚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天脂信,我揣著相機(jī)與錄音癣蟋,去河邊找鬼。 笑死狰闪,一個(gè)胖子當(dāng)著我的面吹牛梢薪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尝哆,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼秉撇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了秋泄?” 一聲冷哼從身側(cè)響起琐馆,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎恒序,沒想到半個(gè)月后瘦麸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡歧胁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年滋饲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了厉碟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡屠缭,死狀恐怖箍鼓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情呵曹,我是刑警寧澤款咖,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站奄喂,受9級(jí)特大地震影響铐殃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜跨新,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一富腊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧域帐,春花似錦蟹肘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至许饿,卻和暖如春阳欲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背陋率。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工球化, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瓦糟。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓筒愚,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親菩浙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子巢掺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容