走近谷歌Spanner:地球上最大單一數(shù)據(jù)庫

作者:IT新聞網(wǎng) 來源:IT新聞網(wǎng) 2012-12-29 09:20:37 閱讀 我要評論 直達(dá)商品

在構(gòu)建一個既具有全球性又能保持一致性的數(shù)據(jù)中心的過程中,谷歌Spanner工程師做了一些令人完全意想不到的事情。

北京時間11月28日消息,《連線》雜志網(wǎng)絡(luò)版近日刊載文章,對全球最大的單一數(shù)據(jù)庫谷歌Spanner進(jìn)行了詳細(xì)的描述,稱其昭示著整個世界的未來發(fā)展方向。文章指出,在Spanner數(shù)據(jù)庫中,谷歌摒棄了傳統(tǒng)的“網(wǎng)絡(luò)時間協(xié)議”,轉(zhuǎn)而使用自己的時間協(xié)調(diào)機(jī)制,這個機(jī)制被稱為“TrueTime API”。谷歌在Spanner數(shù)據(jù)中心里配備了自己的原子鐘和GPS接收器,這些時間協(xié)調(diào)裝置會連接到特定數(shù)量的主服務(wù)器,然后再由主服務(wù)器向整個谷歌網(wǎng)絡(luò)中運(yùn)行的其他電腦傳輸時間讀數(shù)。

以下是這篇文章的全文:

每天早上,當(dāng)安德魯·菲克斯(Andrew Fikes)坐在美國加州山景城谷歌總部的辦公桌前時,他就會打開谷歌與紐約之間的“VC”連接。

“VC”是谷歌對視頻會議(video conference)的縮寫。通過辦公桌上的電腦屏幕,菲克斯能看到威爾遜·謝(Wilson Hsieh)坐在谷歌曼哈頓辦公室里,后者也能看到菲克斯。兩人還會與谷歌在華盛頓州柯克蘭(Kirkland,靠近西雅圖)的一個辦公室建立VC連接。他們的工程團(tuán)隊跨越這個國家三個不同地區(qū)的三個辦公室,但所有人仍舊可以毫無延遲地聊天、進(jìn)行“頭腦風(fēng)暴”和互相解答疑難問題,而這就是谷歌建立Spanner數(shù)據(jù)庫的方式。

“如果你走進(jìn)我們的辦公室就會發(fā)現(xiàn),我們一直都會保持VC處于開啟狀態(tài)。”菲克斯說道,他在2001年加盟谷歌,現(xiàn)在已經(jīng)躋身于谷歌杰出的軟件工程師之列。“我們在過去多年時間里一直都在這樣做,這就降低了一般通信方式的所有壁壘。”

這種布置是合適的。正如創(chuàng)造Spanner數(shù)據(jù)庫的工程團(tuán)隊一樣,Spanner覆蓋全球,但其運(yùn)作卻像是完全在同一個地方發(fā)生的。在經(jīng)歷了多年的暗示和傳言以后,Spanner終于在今年秋天出現(xiàn)在公眾視線里,它是第一個有資格“有名有姓”的全球數(shù)據(jù)庫——其目的是在數(shù)以百計的數(shù)據(jù)中心、成百萬的電腦和數(shù)萬億計行信息之間無縫運(yùn)作。

Spanner是一個如此龐大的創(chuàng)造產(chǎn)物,以至于有些人很難真正去了解它。但是,它所帶來的最終結(jié)果是很容易說明的:通過Spanner,谷歌能向全球受眾提供網(wǎng)絡(luò)服務(wù),但仍可確保正在世界某個地區(qū)中發(fā)生在這項服務(wù)中的事情不會與發(fā)生在另一個地區(qū)的事情相抵觸。

這個新時代的谷歌數(shù)據(jù)庫已經(jīng)成為該公司在線廣告系統(tǒng)的一部分——這個系統(tǒng)能給谷歌帶來龐大的收入——可能預(yù)示著網(wǎng)絡(luò)的其他部分將走向何處。當(dāng)谷歌在9月中旬發(fā)布研究報告來對Spanner作出詳細(xì)描述時,整個世界都為之震動;幾個星期以后,當(dāng)威爾遜·謝在加州好萊塢的一次會議上演示這份研究報告的內(nèi)容時,在中堅電腦系統(tǒng)工程師中引發(fā)的熱議也是明顯可見的。

“這當(dāng)然是很有趣的一件事情。”為Facebook網(wǎng)站提供支持的大型軟件平臺的主要工程師之一羅谷·默蒂(Raghu Murty)說道——但他補(bǔ)充稱,F(xiàn)acebook尚未探索實際構(gòu)建類似數(shù)據(jù)庫的可能性。

谷歌的網(wǎng)絡(luò)業(yè)務(wù)比大多數(shù)公司的同類業(yè)務(wù)都要復(fù)雜得多,而且這家公司還被迫構(gòu)建遠(yuǎn)遠(yuǎn)超出大多數(shù)網(wǎng)絡(luò)公司范疇的定制化軟件。但隨著互聯(lián)網(wǎng)的增長,谷歌創(chuàng)造的產(chǎn)品經(jīng)常都會對世界其他部分造成“涓滴效應(yīng)”。

在谷歌公布Spanner數(shù)據(jù)庫的細(xì)節(jié)以前,許多人甚至都不認(rèn)為這是可能做到的事情。沒錯,我們已經(jīng)擁有了能在多個數(shù)據(jù)中心之間存儲信息的“NoSQL”數(shù)據(jù)庫,但這些數(shù)據(jù)庫不能在保持信息“一致”——意味著在世界一端的數(shù)據(jù)中心里瀏覽數(shù)據(jù)的人所看到的東西與另一端的人看到的東西完全相同——的情況下做到跨數(shù)據(jù)中心存儲。人們原本對此作出的假設(shè)是,之所以不能做到這種“一致”性,是因為在數(shù)據(jù)中心之間傳遞信息存在固有的延遲。

但在構(gòu)建一個既具有全球性又能保持一致性的數(shù)據(jù)中心的過程中,谷歌Spanner工程師做了一些令人完全意想不到的事情,而這也恰恰符合他們經(jīng)常都會出人意料的過往歷史。這個團(tuán)隊的成員不僅包括菲克斯和威爾遜·謝,同時還包括傳奇性的谷歌人物杰夫·迪恩(Jeff Dean)和桑杰伊·格馬瓦特(Sanjay Ghemawa)以及其他很多工程師,這些工程師都曾致力于開發(fā)開創(chuàng)性的數(shù)據(jù)中心平臺,如Megastore和Dremel等。

而這一次,他們找到了一種讓時間保持一致的新方法。

“作為一名分布式系統(tǒng)開發(fā)者,你會受到這樣的教育——我想說的是,從孩提時代就開始受到這種教育——那就是不要相信時間。”菲克斯說道。“我們所做的事情就是找到一種方法來讓我們能相信時間——以及理解相信時間意味著什么。”

時間是極其重要的

在網(wǎng)絡(luò)上,時間是極其重要的。沒錯,當(dāng)運(yùn)行一項大型網(wǎng)絡(luò)服務(wù)時,你需要事情迅速地發(fā)生。但你還需要一種精確追蹤許多電腦的時間的方法,這些電腦為你的服務(wù)提供支持。你必須同步在每臺服務(wù)器上運(yùn)行的許多進(jìn)程,而且還必須對服務(wù)器本身進(jìn)行同比,這樣一來它們才能協(xié)同運(yùn)作。而想要做到這一點可謂“知易行難”。

通常情況下,數(shù)據(jù)中心運(yùn)營商會使用所謂的“網(wǎng)絡(luò)時間協(xié)議”(Network Time Protocol,NTP)來保持服務(wù)器的的同步,這從本質(zhì)上來說是一種將電腦與官方原子鐘聯(lián)系到一起的在線服務(wù),從而讓全世界各地組織的時間保持一致。但是,由于在一個網(wǎng)絡(luò)中傳輸信息需要時間的緣故,這種方法從來都無法做到完全精確,而且有些時候還會完全失效。在今年7月份,幾家主要的網(wǎng)絡(luò)公司——包括Reddit、Gawker和Mozilla等——就遭遇了問題,原因是其軟件沒有做好應(yīng)對“閏秒”(為保持協(xié)調(diào)世界時接近于世界時時刻,由國際計量局統(tǒng)一規(guī)定在年底或年中對協(xié)調(diào)世界時增加或減少1秒的調(diào)整)的準(zhǔn)備。

但在Spanner數(shù)據(jù)庫中,谷歌摒棄了“網(wǎng)絡(luò)時間協(xié)議”,轉(zhuǎn)而使用自己的時間協(xié)調(diào)機(jī)制,這個機(jī)制被稱為“TrueTime API”。“我們想要一種能讓自己信得過的東西。”菲克斯說道。“那就是谷歌自己擁有的時間基準(zhǔn)。”

谷歌沒有依靠外部時鐘,而是在其Spanner數(shù)據(jù)中心里配備了自己的原子鐘和GPS(全球定位系統(tǒng))接收器,這與你iPhone中的應(yīng)用是不一樣的。通過環(huán)繞地球進(jìn)行軌道運(yùn)行的衛(wèi)星所構(gòu)成的網(wǎng)絡(luò),GPS接收器不僅可以精確找到你所在的位置,而且還能精確報時。

這些時間協(xié)調(diào)裝置會連接到特定數(shù)量的主服務(wù)器,然后再由主服務(wù)器向整個谷歌網(wǎng)絡(luò)中運(yùn)行的其他電腦傳輸時間讀數(shù)。基本上來說,谷歌網(wǎng)絡(luò)中的每臺電腦都會運(yùn)行一個后臺程序,這個程序會不斷地與同一個數(shù)據(jù)中心及其他谷歌數(shù)據(jù)中心的主服務(wù)器進(jìn)行聯(lián)系,試圖達(dá)成協(xié)調(diào)一致的時間。通過這種方式,整個谷歌網(wǎng)絡(luò)中的電腦都會相當(dāng)接近于運(yùn)行一個通用時鐘。

系統(tǒng)做出回應(yīng),而非人類

這種方法是如何引導(dǎo)一個全球數(shù)據(jù)庫的呢?這要感謝TrueTime服務(wù),這種服務(wù)讓谷歌得以將許多電腦保持同步——即使這些電腦是分布在多個數(shù)據(jù)中心里的——這意味著它們能迅速存儲和檢索數(shù)據(jù),而不會互相踩到對方的“腳趾”。

“我們能在兩個不同的地方交付數(shù)據(jù)——比如說美國西海岸和歐洲——而這兩個地方之間仍舊存在某種商定的定序。”菲克斯說道。“因此,如果美國西海岸地區(qū)首先交付數(shù)據(jù),然后歐洲地區(qū)再交付,那么整個系統(tǒng)都會知道這個順序——然后就不會出現(xiàn)數(shù)據(jù)以截然不同的順序被查看的可能。”

根據(jù)安迪·格羅斯(Andy Gross)——他是數(shù)據(jù)存儲和管理軟件創(chuàng)業(yè)企業(yè)Basho的主架構(gòu)師,該公司開發(fā)了一個名為Riak的開源數(shù)據(jù)庫,目的是在數(shù)千個服務(wù)器之間運(yùn)行——的說法,數(shù)據(jù)庫設(shè)計人員通常都會尋求讓計算機(jī)彼此之間進(jìn)行“對話”,從而實現(xiàn)信息的同步化。“你必須進(jìn)行一大堆的通信,來判定所有信息處理的正確順序。”他在今天秋天接受《連線》雜志采訪時說道,當(dāng)時谷歌剛剛對外發(fā)布了Spanner的細(xì)節(jié)。

問題在于,這種通信能讓整個網(wǎng)絡(luò)都陷入停頓狀態(tài)——數(shù)據(jù)庫也是如此。正如麥克斯希雷森(Max Schireson)——他是大數(shù)據(jù)公司10gen的總裁,這家公司開發(fā)了NoSQL數(shù)據(jù)庫MongoDB——對我們所說的那樣:“如果有大量用戶同時接入大量分布在全球的系統(tǒng),那么這些系統(tǒng)之間的通信延遲時間會是相當(dāng)長的,讓所有事情都同步起來就會變得非常困難。如果這些要素的數(shù)值提高,那么就會變得更加困難。”

因此,谷歌就采取了一種完全不同的道路。谷歌沒有竭力試圖改善服務(wù)器之間的通信方式,而是給它們帶來了一種新的報時方法。“這可能是(谷歌研究)報告的最酷的一件事情:使用原子鐘和GPS來提供一個時間API(應(yīng)用程序接口)。”Facebook的默蒂說道。

在控制時間的問題上,谷歌不僅能構(gòu)建一個同時具有全球性和時間一致性的數(shù)據(jù)庫,同時還能讓其服務(wù)在網(wǎng)絡(luò)延遲、數(shù)據(jù)中心宕機(jī)及其他軟件和硬件故障的面前變得更加具有抵抗力。從基本上來說,谷歌是利用Spanner來精確復(fù)制多個數(shù)據(jù)中心之間的數(shù)據(jù),然后迅速地在各個數(shù)據(jù)副本之間“穿梭”。換而言之,這些數(shù)據(jù)副本也同樣具有一致性。

當(dāng)一個數(shù)據(jù)副本不可用時,Spanner能迅速轉(zhuǎn)向另一個副本。但是,Spanner也會在不同副本中“穿梭”,目的只是為了改善其表現(xiàn)。“如果你擁有一個數(shù)據(jù)副本,而這個副本變得忙碌,那么網(wǎng)絡(luò)延遲就會變得很高;但如果你還擁有其他四個副本,那么就能選擇轉(zhuǎn)到另一個副本,從而減少延遲。”菲克斯說道。

菲克斯表示,這樣做的結(jié)果之一是,谷歌花在管理自身系統(tǒng)上的費用有所減少。“從某種程度上來說,當(dāng)一個服務(wù)器宕機(jī)時,我們只需要轉(zhuǎn)到系統(tǒng)中其他服務(wù)器的客戶端電腦即可。”他說道。“這是一種簡單得多的服務(wù)……做出回應(yīng)的是系統(tǒng)本身,而不是人類。”

追隨谷歌的步伐

有些人會懷疑,其他公司是否也會追隨谷歌的步伐——以及它們是否想要這樣做。當(dāng)我們與格羅斯交談時,他猜測甚至就連谷歌原子鐘和GPS接收器也將由于成本過高而不適用于大多數(shù)公司。

沒錯,重新構(gòu)建平臺將是一項龐大的任務(wù)。谷歌在這個項目上已經(jīng)花費了四年半時間,菲克斯——他幫助構(gòu)建了谷歌的網(wǎng)絡(luò)歷史工具、第一項產(chǎn)品搜索服務(wù)以及Google Answers和BigTable——將Spanner稱為他曾從事開發(fā)過的最困難的東西。另外,還有數(shù)不清的后勤相關(guān)事務(wù)需要處理。

正如菲克斯所指出的那樣,谷歌不得不在其數(shù)據(jù)中心的屋頂上安裝GPS天線,并將這些天線與數(shù)據(jù)中心內(nèi)部的硬件連接起來。而且,你還需要兩種不同類型的時間協(xié)調(diào)器。硬件經(jīng)常都會出故障,而時間協(xié)調(diào)器也同樣會在不同的時候發(fā)生故障。“原子鐘會在GPS出問題時提供穩(wěn)定性。”他說道。

但據(jù)菲克斯稱,這些設(shè)備相對來說都不算貴。GPS接收器當(dāng)然不會像iPhone里的裝置那樣便宜,但跟谷歌的原子鐘一樣,這種設(shè)備的單價不會超過幾千美元。“這些設(shè)備從某種程度上來說符合企業(yè)級服務(wù)器的成本序列。”他說道。“而且有許多供應(yīng)商都會提供這些設(shè)備。”當(dāng)我們與迪恩——他是谷歌主要的架構(gòu)工程師之一,同時也是Spanner報告的另一名作者——討論此事時,他也作出了幾乎相同的回答。

菲克斯還指出,TrueTime服務(wù)并不需要配備專門的服務(wù)器。時間協(xié)調(diào)器就放置在服務(wù)器機(jī)架上,而且只需要與數(shù)據(jù)中心里的某些服務(wù)器連接起來即可。

“你可以認(rèn)為,每個數(shù)據(jù)中心里僅有少量的此類設(shè)備。它們的外形就像盒子一樣,你可以購買這些設(shè)備,然后將其插入服務(wù)器機(jī)架,通過以太網(wǎng)將其與服務(wù)器連在一起。”菲克斯說道。“需要考慮的一件重要的事情是,這是一種向數(shù)據(jù)中心提供的服務(wù),其成本會平攤在所有的服務(wù)器中。每臺服務(wù)器的成本都是某個增量的數(shù)字——你需要權(quán)衡的就是這種成本與我們能利用其所做到的事情。”

Spanner并非當(dāng)今所有網(wǎng)站都需要的東西,但整個世界都正朝著它的方向發(fā)展。雖然Facebook尚未探索開發(fā)類似于Spanner的數(shù)據(jù)庫,但該公司正在構(gòu)建一個名為Prism的平臺,這個平臺將負(fù)責(zé)運(yùn)行該公司在多個數(shù)據(jù)中心龐大的數(shù)據(jù)運(yùn)算任務(wù)。

沒錯,谷歌的廣告系統(tǒng)是很龐大,但這個系統(tǒng)得益于Spanner數(shù)據(jù)庫,而且在某種程度上來說也會讓許多其他網(wǎng)絡(luò)服務(wù)從中受益。谷歌廣告系統(tǒng)是一個在線拍賣平臺——廣告主需要進(jìn)行競價來顯示自己的廣告,用戶則將在搜索某一特定物品或訪問特定網(wǎng)站時看到這些廣告——每一則廣告的出現(xiàn)都有賴于描述大量廣告主和網(wǎng)民行為的數(shù)據(jù)。通過Spanner,谷歌可以在全球范圍內(nèi)處理這種數(shù)據(jù),同時仍可保持整個系統(tǒng)的同步性。

正如菲克斯所說,Spanner只是谷歌利用其控制時間的新方法的第一個范例。“我預(yù)計,未來還將出現(xiàn)許多其他服務(wù)。”他說道。菲克斯的意思是指其他的谷歌服務(wù),但既然這家公司現(xiàn)在已經(jīng)將其Spanner報告與整個世界都進(jìn)行了共享,那么它這樣做必然是有理由的。


  推薦閱讀

  淘寶京東兩大物流模式比拼:自提成未來戰(zhàn)場

快件自提是滿足消費者對于電商配送個性化需求的形式之一,其市場潛力較大,“無論自建物流體系還是社會化物流,采用自提點模式解決最后一公里難題,需要的是以時間進(jìn)行布局和轉(zhuǎn)變消費者的觀念”。 民營快遞在中航協(xié)的>>>詳細(xì)閱讀


本文標(biāo)題:走近谷歌Spanner:地球上最大單一數(shù)據(jù)庫

地址:http://m.sdlzkt.com/a/guandian/yejie/20121229/109411.html

樂購科技部分新聞及文章轉(zhuǎn)載自互聯(lián)網(wǎng),供讀者交流和學(xué)習(xí),若有涉及作者版權(quán)等問題請及時與我們聯(lián)系,以便更正、刪除或按規(guī)定辦理。感謝所有提供資訊的網(wǎng)站,歡迎各類媒體與樂購科技進(jìn)行文章共享合作。

網(wǎng)友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網(wǎng)友評論(點擊查看更多條評論)
友情提示: 登錄后發(fā)表評論,可以直接從評論中的用戶名進(jìn)入您的個人空間,讓更多網(wǎng)友認(rèn)識您。
自媒體專欄

評論

熱度

主站蜘蛛池模板: 色窝窝无码一区二区三区成人网站| 国产成人av大片大片在线播放| 成人国产精品一区二区视频| 成人性生交大片免费看好| 成人在线欧美亚洲| 国产成人99久久亚洲综合精品| 麻豆成人精品国产免费| 国产成人综合在线视频| 久久成人国产精品| 国产成人精品福利网站人| 一级毛片成人免费看a| 成人免费v片在线观看| 亚洲av成人片在线观看| 国产成人艳妇aa视频在线| 欧美成人免费观看的| 七次郎成人免费线路视频| 国产成人免费高清激情视频| 成人综合激情另类小说| 亚洲av成人精品网站在线播放| 国产精品成人va在线观看入口| 91嫩草私人成人亚洲影院| 国产成人精品免费视频大全办公室 | 国产成人福利精品视频| 成人黄色在线网站| 青青国产成人久久91网站站 | 成人在线播放av| 最新69国产成人精品视频69| 99久久精品国产一区二区成人| 亚洲人成人77777网站| 午夜成人在线视频| 国产成人在线免费观看| 国产成人无码av在线播放不卡 | 欧美一区二区三区成人片在线| 久久久久99精品成人片欧美| 亚洲最大成人网色| www夜片内射视频日韩精品成人| 亚洲欧美成人在线| 久久99国产精品成人欧美| 亚洲国产成人av网站| 久久久久亚洲AV成人无码电影| 久久久久99精品成人片欧美|