原創(chuàng)|行業(yè)資訊|編輯:陳俊吉|2017-09-30 09:53:07.000|閱讀 185 次
概述:越來越多的應(yīng)用程序需要處理大量的數(shù)據(jù),盡管開發(fā)者可以使用Hadoop來存儲和批處理數(shù)據(jù),也可以使用Storm來處理流式數(shù)據(jù),但這些技術(shù)無法直接服務(wù)于最終用戶。提供大規(guī)模服務(wù)是一項巨大的挑戰(zhàn),當(dāng)用戶需要等待基于大量數(shù)據(jù)集的計算結(jié)果時,比如特征搜索、推薦系統(tǒng)、定制化,這種挑戰(zhàn)就會變得尤為明顯。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
從2006年開源Hadoop開始,Yahoo(也就是現(xiàn)在的Oath)為廣大開發(fā)者社區(qū)的基礎(chǔ)設(shè)施做出了不可磨滅的貢獻(xiàn)。現(xiàn)在,我們又賣出了堅實的一步,Yahoo的和服務(wù)引擎Vespa正式在GitHub上開源了()。
越來越多的應(yīng)用程序需要處理大量的數(shù)據(jù),盡管開發(fā)者可以使用來存儲和批處理數(shù)據(jù),也可以使用Storm來處理流式數(shù)據(jù),但這些技術(shù)無法直接服務(wù)于最終用戶。提供大規(guī)模服務(wù)是一項巨大的挑戰(zhàn),當(dāng)用戶需要等待基于大量數(shù)據(jù)集的計算結(jié)果時,比如特征搜索、推薦系統(tǒng)、定制化,這種挑戰(zhàn)就會變得尤為明顯。
有了Vespa,開發(fā)者可以輕松地構(gòu)建基于大數(shù)據(jù)集實時計算結(jié)果的應(yīng)用,而到目前為止,只有少數(shù)幾個大公司具備這樣的能力。
提供服務(wù)不是簡單地根據(jù)ID查詢項目或應(yīng)用模型計算出幾個數(shù)字,很多提供服務(wù)的應(yīng)用需要基于大數(shù)據(jù)集運行計算,比如搜索和推薦。為了給用戶返回精確的搜索結(jié)果或推薦清單,應(yīng)用程序需要找出所有符合查詢條件的項目,根據(jù)相關(guān)度或推薦模型決定每一個項目的匹配程度,移除重復(fù)項目,增加瀏覽輔助項,最后把結(jié)果返回給用戶。因為這些計算依賴用戶的具體請求,所以無法預(yù)先計算。應(yīng)用程序必須實時地處理用戶請求,而且要快,因為用戶在等待結(jié)果。在大數(shù)據(jù)集上快速執(zhí)行上述操作需要很多基礎(chǔ)設(shè)施的支持——分布式算法、數(shù)據(jù)分布和管理、高效的數(shù)據(jù)結(jié)構(gòu)和內(nèi)存管理等等。而這些正是Vespa要為開發(fā)者提供的——一個一站式的引擎,簡潔易用。
我們已經(jīng)在Oath的多個產(chǎn)品上使用了Vespa,包括Yahoo.com、Yahoo News、Yahoo Sports、Yahoo Finance、Yahoo Gemini、Flickr等。我們使用Vespa來處理每日數(shù)十億個用戶請求,為用戶返回基于數(shù)十億文檔得出的搜索結(jié)果和推薦內(nèi)容,并提供定制化內(nèi)容和廣告。事實上,Vespa每秒可以處理90,000次內(nèi)容和廣告請求,延遲通常只有幾十毫秒。在Flickr上,Vespa每秒可以處理數(shù)百個基于數(shù)百億張圖片的關(guān)鍵字和圖像搜索。另外,Vespa在Yahoo Gemini上每天處理30億個請求,高峰時段每秒鐘140,000個請求,直接給公司帶來可觀的收益。
我們基于Vespa構(gòu)建的應(yīng)用具備如下特性:
為了保證速度和伸縮性,Vespa在多臺機(jī)器上分布數(shù)據(jù)和計算任務(wù),避免了單點master的瓶頸。傳統(tǒng)的應(yīng)用將數(shù)據(jù)拉取到一個無狀態(tài)的層上進(jìn)行處理,而Vespa是將計算任務(wù)推送給數(shù)據(jù)集。為此,Vespa需要做很多非常棘手的工作,比如當(dāng)機(jī)器發(fā)生故障或增加新機(jī)器時在后臺重新分布數(shù)據(jù)、實現(xiàn)分布式的低延遲和處理算法、處理分布式數(shù)據(jù)一致性等。
我們在構(gòu)建alltheweb.com(后被Yahoo收購)時就開始開發(fā)我們的搜索和服務(wù)。在過去幾年中,我們不斷使用新技術(shù)重寫了我們的引擎。Vespa是我們發(fā)布過的項目當(dāng)中涉及范圍最廣、代碼量最大的一個項目。Vespa已經(jīng)在Yahoo的大部分關(guān)鍵系統(tǒng)上得到了實地驗證,所以我們很高興能夠把Vespa推向世界。
Vespa賦予了開發(fā)者將任意大小數(shù)據(jù)集和模型填充進(jìn)服務(wù)系統(tǒng)的能力,而且可以實時地得到計算結(jié)果,帶來更好的用戶體驗,而且成本更低,比預(yù)計算方式具有更低的復(fù)雜度。而且,開發(fā)者可以與復(fù)雜的計算展開實時的交互,不需要啟動離線作業(yè)或反復(fù)回過頭來檢查結(jié)果。
Vespa可以運行在自有數(shù)據(jù)中心或云端。我們提供了Vespa的Docker鏡像和rpm安裝包,也提供了運行指南,可以讓Vespa運行在本地機(jī)器或AWS集群上。
管理分布式系統(tǒng)不是件簡單的事情。我們投入了大量精力開發(fā)Vespa,其他開發(fā)者就可以專注在創(chuàng)建功能上,他們可以實現(xiàn)基于集的實時計算,而不是把時間花在集群和數(shù)據(jù)的管理上。根據(jù)我們的文檔所給出的指南,你可以在不到十分鐘的時間內(nèi)讓一個應(yīng)用跑起來。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn