Google三駕馬車-Bigtable-論文筆記

什么是Bigtable


相比于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫麻车,bigtable 提供了分布式的非結(jié)構(gòu)化的數(shù)據(jù)存儲爷肝,但沒有提供sql的語義宇智,所以是數(shù)據(jù)NoSQL的數(shù)據(jù)庫汽纤。

事實上它還是一個分布式的多層map的存儲的結(jié)構(gòu)。

Building Blocks


在bigtable 用了其他的很多的Google的組件何缓。

????使用Google分布式文件系統(tǒng)(GFS)存儲日志和數(shù)據(jù)文件肢础。

????BigTable還依賴一個高可用的、持久化的分布式鎖服務(wù)組件碌廓,叫做Chubby传轰。用于選舉????????????????master

????一般會運行在共享的集群中,依賴于共享集群的任務(wù)調(diào)度谷婆。

Data model


在bigtable 中路召,還是提供了類似于表的的數(shù)據(jù)結(jié)構(gòu),會有數(shù)據(jù)的row 和colum波材, 和一般的不同的是,每一個行的列是可以不同的身隐,列的數(shù)量也是可以不一致的廷区。對于數(shù)據(jù)的查找,需要先找到對應(yīng)的一行贾铝,然后再去找這一行中的某一列隙轻。同時數(shù)據(jù)還會有不同版本的相關(guān)的信息埠帕。

(row:string, column:string, time:int64) →? string

如下面的例子,可以通過

(com.cnn.www玖绿,anchor:cnnsi.com敛瓷,t9)來找到CNN。t9是版本斑匪,是根據(jù)timestamp來構(gòu)造的呐籽。

SSTable


BigTable數(shù)據(jù)在內(nèi)部使用google? SSTable文件格式存儲。SSTable提供一個從鍵(key)到值(value)的持久化的蚀瘸、已排序狡蝶、不可更改的映射(Map),這里的key和value 的都是任意的字節(jié)(Byte)串贮勃。

對SSTable提供了如下操作:查詢與一個指定key值相關(guān)的value贪惹,或者遍歷指定key值范圍內(nèi)的所有鍵值對。從內(nèi)部看寂嘉,SSTable是一連串的數(shù)據(jù)塊(通常每個塊的大小是64KB奏瞬,但是這個大小是可以配置的)。SSTable 會使用索引來加速查找泉孩,索引一般存儲在數(shù)據(jù)的末尾位置硼端。如圖:

Tablet


Tablet 是包含了一個表中多行,一個tablet事實上是存儲在一個機器上的一塊信息棵譬。

其次显蝌,對于一個table來說,可能會分為多個tablet订咸,而tablet又是由不同的sstable組成的曼尊,多個tablet可以共享一個sstable

對于tablet 的查找,使用的是類似于文件系統(tǒng)的多級的索引結(jié)構(gòu):

使用一個三層的脏嚷、類似于B+樹[10]的結(jié)構(gòu)存儲tablet的位置信息骆撇。

其中第一層是存儲在chubby file的中,也就是分布式鎖的系統(tǒng)父叙∩窠迹客戶程序庫會緩存tablet的位置信息。如果客戶程序不知道一個tablet的位置信息趾唱,或者發(fā)現(xiàn)它緩存的地址信息不正確涌乳,那么客戶程序就遞歸移動到tablet位置層次;如果客戶端緩存是空的甜癞,那么尋址算法需要通過三次網(wǎng)絡(luò)來回通信尋址夕晓,這其中包括了一次Chubby讀操作。如果客戶端緩存的地址信息過期了悠咱,那么尋址算法可能進行多達6次(alex注:其中的三次通信發(fā)現(xiàn)緩存過期蒸辆,另外三次更新緩存數(shù)據(jù))網(wǎng)絡(luò)來回通信征炼,因為過期緩存條目只有在沒有查到數(shù)據(jù)(upon misses)的時候才能發(fā)現(xiàn) (假設(shè)元數(shù)據(jù)tablet沒有被頻繁的移動)。躬贡。

為了減少開銷谆奥,會于讀取多個的tablet 一次

基本的服務(wù)


Bigtable集群包括三個主要部分:一個供客戶端使用的庫,一個主服務(wù)器(master server)拂玻,許多片服務(wù)器(tablet server)酸些。

每個tablet一次分配給一個tablet服務(wù)器。master服務(wù)器記錄活躍的tablet服務(wù)器纺讲、當前tablet到tablet服務(wù)器的分配擂仍、包括哪些tablet還沒有被分配。一個tablet 服務(wù)器管理著多個tablet熬甚。

客戶端的操作都是bypass master的

讀寫操作


當片服務(wù)器收到一個寫請求逢渔,片服務(wù)器首先檢查請求是否合法。如果合法乡括,先將寫請求提交到日志去肃廓,然后將數(shù)據(jù)寫入內(nèi)存中的memtable。memtable相當于SSTable的緩存诲泌,當memtable成長到一定規(guī)模會被凍結(jié)盲赊,Bigtable隨之創(chuàng)建一個新的memtable,并且將凍結(jié)的memtable轉(zhuǎn)換為SSTable格式寫入GFS敷扫,這個操作稱為minor compaction哀蘑。

當片服務(wù)器收到一個讀請求,同樣要檢查請求是否合法葵第。如果合法绘迁,這個讀操作會查看所有SSTable文件和memtable的合并視圖,因為SSTable和memtable本身都是已排序的卒密,所以合并相當快缀台。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市哮奇,隨后出現(xiàn)的幾起案子膛腐,更是在濱河造成了極大的恐慌,老刑警劉巖鼎俘,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哲身,死亡現(xiàn)場離奇詭異,居然都是意外死亡贸伐,警方通過查閱死者的電腦和手機律罢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人误辑,你說我怎么就攤上這事「璺辏” “怎么了巾钉?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長秘案。 經(jīng)常有香客問我砰苍,道長,這世上最難降的妖魔是什么阱高? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任赚导,我火速辦了婚禮,結(jié)果婚禮上赤惊,老公的妹妹穿的比我還像新娘吼旧。我一直安慰自己,他們只是感情好未舟,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布圈暗。 她就那樣靜靜地躺著,像睡著了一般裕膀。 火紅的嫁衣襯著肌膚如雪员串。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天昼扛,我揣著相機與錄音寸齐,去河邊找鬼。 笑死抄谐,一個胖子當著我的面吹牛渺鹦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斯稳,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼海铆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了挣惰?” 一聲冷哼從身側(cè)響起卧斟,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎憎茂,沒想到半個月后珍语,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡竖幔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年板乙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡募逞,死狀恐怖蛋铆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情放接,我是刑警寧澤刺啦,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站纠脾,受9級特大地震影響玛瘸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜苟蹈,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一糊渊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧慧脱,春花似錦渺绒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至采缚,卻和暖如春针炉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扳抽。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工篡帕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贸呢。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓镰烧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親楞陷。 傳聞我的和親對象是個殘疾皇子怔鳖,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

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