首頁(yè) 都市

重生之互聯(lián)網(wǎng)霸主

0202.再次挖角谷歌-Kaltix歸心

  {時(shí)間:2003年3月4日}

  {地點(diǎn):加州-帕洛阿爾托}

  無(wú)論哪個(gè)時(shí)候謙虛總是好的,但是過(guò)于謙虛有時(shí)候難免給人誤會(huì)。所以面對(duì)Kaltix三人組,寧子默并不謙虛。

  Kaltix三人組說(shuō)掌握的技術(shù),確實(shí)是針對(duì)谷歌的PageRank去做的提升。但Bing同樣在網(wǎng)頁(yè)頁(yè)面權(quán)重方面有自己的專用算法,搜索引擎本質(zhì)上的共性讓Kaltix技術(shù)的融入并不存在問(wèn)題。

  問(wèn)題在于,如何將Kaltix三人組納入旗下。這可不是簡(jiǎn)單地把Kaltix三人組挖過(guò)來(lái)那么簡(jiǎn)單,而是對(duì)谷歌和Bing相對(duì)此消彼長(zhǎng)的“騷操作”。

  既然是此消彼長(zhǎng),寧子默不介意亮亮肌肉。

  用迅雷不及掩耳之勢(shì),拿下三人!

  于是,這一番大數(shù)據(jù)搜索的延伸場(chǎng)景擺在2003年這個(gè)時(shí)代,已經(jīng)不足以用驚艷來(lái)形容。

  包括霍夫曼在內(nèi),辦公室里呆著的四人一幅“懵逼”的樣子盯著寧子默,讓寧子默一時(shí)間有種“說(shuō)過(guò)了”的感覺(jué)。

  確實(shí),剛剛講的東西對(duì)眼前的四人而言。

  太超前了!

  他們的理解,

  或許還跟不上。

  沒(méi)想到賽普突然張了張嘴,小心翼翼地說(shuō),“寧,我們?nèi)嗽凸雀杷阉饕嬗懻撨^(guò)搜索引擎技術(shù)的發(fā)展。本以為我們的展望已經(jīng)十分超前,沒(méi)想到你鋪開(kāi)在我們面前的那副畫卷完全超越過(guò)我們?cè)?jīng)的想象?!?p>  眼前這位叫做寧的年輕人,不僅僅是大名鼎鼎的PaypalCOO,竟然還是【領(lǐng)贏】和【MySpace】的聯(lián)合創(chuàng)始人。

  他已經(jīng)在過(guò)去的數(shù)個(gè)項(xiàng)目中展現(xiàn)了他的創(chuàng)造力,卻沒(méi)想到他在搜索引擎這么專業(yè)的領(lǐng)域竟然有著超越這個(gè)時(shí)代的獨(dú)到見(jiàn)解。

  他關(guān)注的不僅僅是技術(shù),更是科技,或者說(shuō)互聯(lián)網(wǎng)技術(shù)在人類文明未來(lái)的發(fā)展中所起到的關(guān)鍵作用。

  如果說(shuō)以前很多人問(wèn)自己-搜索引擎可以干什么,自己的回答最多會(huì)比寧給出的答案更好一些:

  “搜索引擎可以幫你更快速找到更專業(yè)、更詳盡的答案。”

  但是今天過(guò)后,賽普覺(jué)得他或許會(huì)給問(wèn)出問(wèn)題的人一個(gè)更好的答案。

  或者說(shuō),今天過(guò)后,他突然給不出別人一個(gè)答案。

  搜索引擎可以做什么?

  寧已經(jīng)講得清清楚楚,

  但那個(gè)未來(lái),

  離現(xiàn)在確實(shí)還很遠(yuǎn)。

  想到這里,賽普鼓起勇氣問(wèn)到,“寧,你說(shuō)描繪的畫卷絕對(duì)是搜索引擎未來(lái)最值得去探索的發(fā)展方向?!?p>  抱歉地點(diǎn)了點(diǎn)頭,賽普訕笑著說(shuō),“并不是說(shuō)我不看好你所說(shuō)的未來(lái),而是我意識(shí)到你所說(shuō)的那個(gè)未來(lái),離我們有些遠(yuǎn)。它一定會(huì)用到大量的新技術(shù)去實(shí)現(xiàn),而那些技術(shù)并不是一個(gè)簡(jiǎn)簡(jiǎn)單單的團(tuán)隊(duì)可以完成的。

  甚至就連目前在搜索引擎領(lǐng)域十分領(lǐng)先的谷歌,就算它有足夠的技術(shù)積累,也不能在短期內(nèi)達(dá)成你所說(shuō)的那個(gè)未來(lái)。單單如何將網(wǎng)頁(yè)文件串聯(lián)成數(shù)據(jù),并以數(shù)據(jù)庫(kù)查詢的方式來(lái)實(shí)現(xiàn)搜索,都是個(gè)目前短期內(nèi)難功課的難點(diǎn)。”

  “夢(mèng)想總是要有的,要不然怎么去一步一步實(shí)現(xiàn)它?”

  寧子默把有關(guān)夢(mèng)想的話變了個(gè)說(shuō)話,就在賽普表態(tài)的同時(shí),他已經(jīng)想到了更深層次的東西。

  寧子默明白,有一些人,僅僅只靠畫餅是不能完全說(shuō)服的。

  自己必須拿出完全體來(lái)對(duì)付這幫同樣有夢(mèng)想的年輕人!

  寧子默自信地笑笑,乘著抿一口咖啡的時(shí)間在腦子里將谷歌搜索的關(guān)鍵技術(shù)匯集成冊(cè)。

  把杯子從嘴邊拿開(kāi)的時(shí)候,寧子默腦子里有關(guān)谷歌搜索關(guān)鍵技術(shù)的封印,

  已然打開(kāi)!

  “說(shuō)到搜索,人們往往會(huì)簡(jiǎn)單地認(rèn)為搜索只是抓取爬蟲(chóng)從網(wǎng)絡(luò)上抓取的結(jié)果。但實(shí)際上,搜索并沒(méi)有人們想象的那么簡(jiǎn)單?!?p>  寧子默將杯子輕輕地放在桌上,笑著掃了三人一眼,細(xì)細(xì)地解釋到:

  “我們談到大數(shù)據(jù)搜索,其核心一定是體量極大的數(shù)據(jù)量。這種體量的數(shù)據(jù)存儲(chǔ)、索引和檢索,已經(jīng)不單單是數(shù)據(jù)庫(kù)結(jié)構(gòu)能去實(shí)現(xiàn)并解決的。

  大數(shù)據(jù)量的數(shù)據(jù)存儲(chǔ)和搜索一定要有對(duì)應(yīng)的文件存儲(chǔ)檢索系統(tǒng),它必定是一個(gè)面向大規(guī)模數(shù)據(jù)密集型應(yīng)用的、可伸縮的分布式文件系統(tǒng)。

  我們【Bing】除了在搜索和爬蟲(chóng)上用心外,最核心的部分還是背后那套圍繞在BFS(Bing File System)文件系統(tǒng)的核心技術(shù)體。這套系統(tǒng)的設(shè)計(jì)目標(biāo),與許多傳統(tǒng)的分布式文件系統(tǒng)有很多相同之處。比如,性能、可伸縮性、可靠性以及可用性。

  但BFS的還是以應(yīng)用負(fù)載情況和技術(shù)環(huán)境的分析為基礎(chǔ)著重考慮,不管現(xiàn)在還是將來(lái),BFS和早期的分布式文件系統(tǒng)的設(shè)想都有明顯的不同。所以我們重新審視了傳統(tǒng)文件系統(tǒng)在設(shè)計(jì)上的折衷選擇,衍生出了完全不同的設(shè)計(jì)思路。

  首先,組件失效被認(rèn)為是常態(tài)而不是意外。BFS需要管理成百上千存儲(chǔ)機(jī)器,同時(shí)被相當(dāng)數(shù)量的用戶終端機(jī)訪問(wèn)。BFS組件的數(shù)量和質(zhì)量導(dǎo)致在事實(shí)上,任何給定時(shí)間內(nèi)都有可能發(fā)生某些組件無(wú)法工作,某些組件無(wú)法從它們目前的失效狀態(tài)中恢復(fù)。

  當(dāng)我們遇到過(guò)各種各樣的問(wèn)題,比如應(yīng)用程序bug、操作系統(tǒng)的bug、人為失誤,甚至還有硬盤、內(nèi)存、連接器、網(wǎng)絡(luò)以及電源失效等造成的問(wèn)題。所以,持續(xù)的監(jiān)控、錯(cuò)誤偵測(cè)、災(zāi)難冗余以及自動(dòng)恢復(fù)的機(jī)制必須集成在GFS中。

  其次,以通常的標(biāo)準(zhǔn)衡量,我們的文件非常巨大。數(shù)GB文件都可能非常普遍。每個(gè)文件通常都包含許多應(yīng)用程序?qū)ο?,比如web文檔。

  當(dāng)我們未來(lái)需要處理快速增長(zhǎng)并由數(shù)億個(gè)對(duì)象構(gòu)成的、數(shù)以TB的數(shù)據(jù)集時(shí),采用管理數(shù)億個(gè)KB大小的小文件的方式是非常不明智的,盡管有些文件系統(tǒng)支持這樣的管理方式。因此,設(shè)計(jì)的假設(shè)條件和參數(shù),比如I/O操作和Block的尺寸都需要重新考慮。

  第三,絕大部分文件的修改是采用在文件尾部追加數(shù)據(jù),而不是覆蓋原有數(shù)據(jù)的方式。對(duì)文件的隨機(jī)寫入操作在實(shí)際中幾乎不存在。一旦寫完之后,對(duì)文件的操作就只有讀,而且通常是按順序讀。

  大量的數(shù)據(jù)符合這些特性,比如:數(shù)據(jù)分析程序掃描的超大的數(shù)據(jù)集;正在運(yùn)行的應(yīng)用程序生成的連續(xù)的數(shù)據(jù)流;存檔的數(shù)據(jù);由一臺(tái)機(jī)器生成、另外一臺(tái)機(jī)器處理的中間數(shù)據(jù),這些中間數(shù)據(jù)的處理可能是同時(shí)進(jìn)行的、也可能是后續(xù)才處理的。

  對(duì)于這種針對(duì)海量文件的訪問(wèn)模式,客戶端對(duì)數(shù)據(jù)塊緩存是沒(méi)有意義的,數(shù)據(jù)的追加操作是性能優(yōu)化和原子性保證的主要考量因素。

  第四,應(yīng)用程序和文件系統(tǒng)API的協(xié)同設(shè)計(jì)提高了整個(gè)系統(tǒng)的靈活性。比如,我們放松了對(duì)BFS一致性模型的要求,這樣就減輕了文件系統(tǒng)對(duì)應(yīng)用程序的苛刻要求,大大簡(jiǎn)化了BFS的設(shè)計(jì)。

  BFS還引入了原子性的記錄追加操作,從而保證多個(gè)客戶端能夠同時(shí)進(jìn)行追加操作,不需要額外的同步操作來(lái)保證數(shù)據(jù)的一致性?!?p>  端起咖啡又喝了一口,寧子默已經(jīng)習(xí)慣了身邊這四人目瞪狗呆的狀態(tài)。

  放下杯子,寧子默再也懶得去解釋那些技術(shù)細(xì)節(jié),但還是提點(diǎn)到:

  “BFS一早就規(guī)劃了四大核心技術(shù)體,其中涵蓋了第一個(gè)部分的分布式基礎(chǔ)設(shè)施,包含的模塊有文件系統(tǒng)(File),分布式鎖服務(wù)(Chubby)和數(shù)據(jù)化序列協(xié)議(Protocol Buffer)。

  而第二部分是分布式大規(guī)模數(shù)據(jù)處理模塊,其中包含分布式運(yùn)算程序的編程框架和對(duì)應(yīng)的數(shù)據(jù)查詢語(yǔ)言。他們或許和SQL和類似,但實(shí)際上它應(yīng)該被稱之為DSL(Domain-Specific Language)。

  第三部分則是分布式數(shù)據(jù)庫(kù)技術(shù),它包含的模塊就有分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)(BigTable)和數(shù)據(jù)庫(kù)分區(qū)系統(tǒng)(Sharding)。

  最后一部分當(dāng)然包含數(shù)據(jù)中心優(yōu)化技術(shù),這些技術(shù)中包括綜合考慮的數(shù)據(jù)中心高溫化,還有電池與服務(wù)器相應(yīng)整合技術(shù)等?!?p>  撇了撇嘴,寧子默皺著眉頭說(shuō),“搜索引擎是一個(gè)全盤技術(shù)的考慮,但我僅僅只舉了一個(gè)很簡(jiǎn)單的例子,并且其應(yīng)用范圍還只是在網(wǎng)頁(yè)搜索結(jié)果當(dāng)中,并沒(méi)有提及一整個(gè)生態(tài)的整體考慮。

  但我所說(shuō)技術(shù)方面的內(nèi)容,遠(yuǎn)比我現(xiàn)在講給你們聽(tīng)的內(nèi)容要復(fù)雜的多。每一個(gè)單項(xiàng)里都會(huì)包含大量工作人員相應(yīng)的工作成果,確實(shí)不是短期內(nèi)可以去實(shí)現(xiàn)的。

  但好在我們【Bing】團(tuán)隊(duì)的目標(biāo)明確啊?!?p>  “夢(mèng)想還是要有的,萬(wàn)一實(shí)現(xiàn)了呢?”寧子默撇著嘴挑了挑眉毛。

  這個(gè)輕挑的動(dòng)作,在Kaltix三人組的眼里卻鄭重如斯。

  辦公室里鴉雀無(wú)聲,除了必要的眨眼,好半天都沒(méi)有一個(gè)人有多余的動(dòng)作。

  大概是忍受不住這種沉重的氣氛,霍夫曼趕忙站起身來(lái),去門口招呼人幫忙添上幾杯咖啡。

  霍夫曼也算看出來(lái)了,寧子默今天多少都帶點(diǎn)“火氣”,所以平日里一沾即過(guò)的風(fēng)格變得凌厲無(wú)比。接連的前瞻和技術(shù)開(kāi)誠(chéng)布公地公示出來(lái),定然讓他斯坦福大學(xué)的三位學(xué)弟有些承接不住。

  待人送來(lái)新的咖啡,霍夫曼才趕忙招呼道,“來(lái),先喝點(diǎn)東西消化消化。寧原來(lái)在Paypal帶團(tuán)隊(duì)的時(shí)候就是這樣的風(fēng)格,每一次他有一個(gè)新的方向時(shí),總是向著那個(gè)方向勇往直前。

  這么兩年來(lái),我從未見(jiàn)他失敗過(guò)。但為什么不會(huì)失敗,相信你們剛剛也都看到了。那是因?yàn)樗诿恳粋€(gè)細(xì)節(jié)的把控方面都已經(jīng)做到了極致,這才有我們步步為營(yíng)的每一次勝利。”

  賽普明顯是三人里邊拿主意的那一位,霍夫曼話音剛落,賽普就點(diǎn)了點(diǎn)頭。

  雖然一直都是那位年輕的寧在說(shuō)話,但是賽普總是覺(jué)得自己的嗓子有些癢。

  咳嗽一聲看了看身邊的同伴,見(jiàn)他們都輕輕地點(diǎn)了點(diǎn)頭,賽普清了清嗓子說(shuō)到,“寧,我們已經(jīng)清楚地看到你描繪的未來(lái),也如同霍夫曼學(xué)長(zhǎng)說(shuō)的那樣,明白你在計(jì)劃的每一個(gè)細(xì)節(jié)都十分重視。

  我想,經(jīng)過(guò)你這一番講述后,我們就只剩下一個(gè)問(wèn)題。那就是,如果我們加入【Bing】,那么在前期這段時(shí)間,我們能為【Bing】做些什么?”

  成了!

  沒(méi)有多余的感嘆。

  寧子默在做之前就篤定會(huì)是這樣的結(jié)果,降維打擊不僅僅是讓人屈服,其實(shí)還可以是用能力去征服別人。

  要不然人馬星的艦隊(duì)開(kāi)到地球的時(shí)候,為什么總有人類想要成為三體人呢?

  當(dāng)然,賽普他們并不是這樣的心思,而是他們被自己說(shuō)的有些找不到自己的方向了。

  既然別人都已經(jīng)愿意加入團(tuán)隊(duì),寧子默的態(tài)度自然溫和不少:

  “對(duì)于整個(gè)Bing來(lái)講,從雅虎搜索引擎部門跳槽而來(lái)的陸奇先生有足夠的能力去掌控大局。但在細(xì)枝末節(jié)方面,我們需要足夠多的專家來(lái)實(shí)現(xiàn)技術(shù)。

  和谷歌一樣,Bing也有自己的PageRank算法。但目前搜索引擎的優(yōu)化方面,我們需要專家。這就是我讓霍夫曼幫我物色人選的主要目的,而你們就是霍夫曼為我們【Bing】物色的技術(shù)專家。所以,我想要聽(tīng)聽(tīng)你們?cè)谒阉黝I(lǐng)域有哪些特長(zhǎng)?!?p>  盡管知道Kaltix的技術(shù)核心是一套包含三個(gè)技術(shù)的算法,就算知道這三個(gè)技術(shù)是二次外推,BlockRank和自適應(yīng)PageRank。寧子默依舊要做出足夠的姿態(tài)。

  賽普點(diǎn)了點(diǎn)頭,笑著說(shuō),“好的,寧,那么由我來(lái)向你詳細(xì)的介紹一下我們的Kaltix?!?p>  搜索引擎并不是寧子墨擅長(zhǎng)的范圍,但前世對(duì)谷歌的崇拜驅(qū)使寧子默對(duì)谷歌的技術(shù)有過(guò)相當(dāng)?shù)难芯?,這些積累的搜索知識(shí)讓寧子默在和賽普的溝通中并不吃力。

  Kaltix是賽普三人基于谷歌核心Page Rank技術(shù)的新興搜索排序技術(shù),它基于個(gè)人興趣的搜索結(jié)果排序方式,可以講搜索引擎速度提升到原有速度的五倍。

  它有三項(xiàng)核心技術(shù)……

  就算知道這些,寧子默細(xì)細(xì)聽(tīng)完就覺(jué)得自己淡定不起來(lái)了。

  也難怪前世里的谷歌在2004年會(huì)有飛速的發(fā)展,完全是因?yàn)槭召?gòu)并消化了Kaltix的核心技術(shù),而Kaltix對(duì)谷歌搜索的提升是顯而易見(jiàn)的。

  賽普的講解,讓寧子默覺(jué)得自己撿到寶了,不由地夸贊到,“你們的技術(shù)核心思想是基于用戶體驗(yàn)的搜索排序方式,這與我重視旗下產(chǎn)品的“交互體驗(yàn)”幾乎是一樣的要求。你們技術(shù)的核心其實(shí)也是‘交互體驗(yàn)’,不僅是技術(shù)的提升更是站在用戶角度的‘交互體驗(yàn)’的提升。

  這樣的技術(shù)應(yīng)用非常有理由客戶的便捷實(shí)用,從此搜索不再是機(jī)器式的反饋結(jié)果,而是個(gè)性化的反饋用戶的真正需求。你們做了一件了不起的事情。”

  “那你覺(jué)得,以我們的能力和技術(shù),我們是否可以加入【Bing】呢?”

  看著賽普天真地望著自己,寧子默突然很想笑。

  無(wú)論如何,這句話都昭示著一個(gè)結(jié)果。

  自己又一次坑了谷歌,

  Kaltix小組歸心了!

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書(shū)架
加入書(shū)架
書(shū)頁(yè)
返回書(shū)頁(yè)
指南