【專訪】顏世光:百度通過分布式集群實(shí)現(xiàn)萬億量級(jí)計(jì)算
WOT2016大數(shù)據(jù)峰會(huì)將于2016年11月25-26日在北京粵財(cái)JW萬豪酒店召開,屆時(shí),數(shù)十位大數(shù)據(jù)領(lǐng)域一線專家、數(shù)據(jù)技術(shù)先行者將齊聚現(xiàn)場(chǎng),在圍繞機(jī)器學(xué)習(xí)、實(shí)時(shí)計(jì)算、系統(tǒng)架構(gòu)、NoSQL技術(shù)實(shí)踐等前沿技術(shù)話題展開深度交流和溝通探討的同時(shí),分享大數(shù)據(jù)領(lǐng)域***實(shí)踐和最熱門的行業(yè)應(yīng)用。
記者在會(huì)前采訪了百度網(wǎng)頁搜索基礎(chǔ)架構(gòu)團(tuán)隊(duì)技術(shù)負(fù)責(zé)人顏世光,他是WOT2016大數(shù)據(jù)峰會(huì)上的發(fā)言嘉賓之一,與我們共同分享了關(guān)于海量計(jì)算以及搜索引擎的***技術(shù)。
顏世光于2011年加入百度,早期從事Spider系統(tǒng)架構(gòu)相關(guān)研發(fā),期間主持了百度第三代Spider系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。當(dāng)前主要研究方向?yàn)榇笠?guī)模分布式系統(tǒng),是百度海量數(shù)據(jù)庫Tera、百度文件系統(tǒng)BFS和集群操作系統(tǒng)Galaxy的主要作者。他熱衷開源,先后推動(dòng)了百度多個(gè)重量級(jí)系統(tǒng)對(duì)外開源。以下是采訪實(shí)錄。
1. 作為國內(nèi)***的搜索平臺(tái),您認(rèn)為百度面臨的***挑戰(zhàn)是什么?目前是如何解決的?
百度面臨的挑戰(zhàn)有很多,我僅能談下在網(wǎng)頁搜索技術(shù)上面臨的, 當(dāng)前比較大的挑戰(zhàn)是覆蓋率和時(shí)效性。覆蓋率可以認(rèn)為是百度能檢索到到的網(wǎng)頁范圍,越大越好。
時(shí)效性通俗講是指互聯(lián)網(wǎng)上產(chǎn)生一個(gè)新網(wǎng)頁到百度能檢索到它這段時(shí)間的延遲,越短越好;這兩個(gè)挑戰(zhàn),一個(gè)要求處理的數(shù)據(jù)盡量多,另一個(gè)要求處理得盡量快,在表面看是沖突的。我們當(dāng)前解決的方式是增量流式處理,不同于普通的流式處理技術(shù),搜索引擎處理每一篇網(wǎng)頁,網(wǎng)頁的內(nèi)容正確與否,網(wǎng)頁權(quán)值(PageRank)大小,不只取決于它本身,而是要依賴互聯(lián)網(wǎng)全局信息。
所以增量處理的核心是一個(gè)能存儲(chǔ)互聯(lián)網(wǎng)上所有網(wǎng)頁、超鏈信息,并可以實(shí)時(shí)讀寫的數(shù)據(jù)庫。這個(gè)數(shù)據(jù)庫背后是百度文件系統(tǒng)、集群調(diào)度系統(tǒng)等一系列基礎(chǔ)設(shè)施。
2. 在分布式技術(shù)出現(xiàn)之前,百度搜索依靠什么來進(jìn)行計(jì)算?
在當(dāng)前這套增量處理技術(shù)出來之前,百度主要依賴MapReduce和Spark做數(shù)據(jù)處理。兩者都是批量計(jì)算的思想,所以延遲比較高。Spark能做到10分鐘級(jí),但能處理的數(shù)據(jù)量有限。對(duì)于依賴海量全局信息的計(jì)算只能用MapReduce進(jìn)行,延遲達(dá)到周級(jí)。
MapReduce的局限還體現(xiàn)在擴(kuò)展性上,如果處理100億網(wǎng)頁,需要1000臺(tái)機(jī)器,那處理1萬億網(wǎng)頁就得10萬臺(tái),這幾乎是不可承受的成本。
所以在此之前,無論是處理數(shù)據(jù)還是能處理的數(shù)據(jù)量,都受到了很大限制。
3.在萬億量級(jí)計(jì)算方面,百度有何經(jīng)驗(yàn)與大家分享?
萬億量級(jí)的計(jì)算核心挑戰(zhàn)在系統(tǒng)的擴(kuò)展性和負(fù)載均衡。承載萬億量級(jí)的數(shù)據(jù),無論是數(shù)據(jù)庫、調(diào)度系統(tǒng)還是底層的分布式文件系統(tǒng),都需要能高效地?cái)U(kuò)展到萬臺(tái)規(guī)模的集群,這里的主要考慮是無單點(diǎn)設(shè)計(jì)的同時(shí)又要保證一致性,最終多數(shù)系統(tǒng)選擇了分布式的Master集群來管理元數(shù)據(jù),用戶數(shù)據(jù)與計(jì)算由對(duì)等的slave節(jié)點(diǎn)承載的方案。
針對(duì)負(fù)載均衡問題,我們會(huì)小心的處理局部的熱點(diǎn)問題,因?yàn)橐粋€(gè)區(qū)間熱點(diǎn)可能拖慢整個(gè)計(jì)算任務(wù)。在系統(tǒng)的設(shè)計(jì)中,特別是數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)中,做到快速的熱點(diǎn)拆分和跨機(jī)器遷移。
多方面的考慮和折衷,具體的內(nèi)容會(huì)在這次大會(huì)的演講中和大家分享。
4.對(duì)于當(dāng)前熱門的開源技術(shù)您怎么看?
顏世光表示他在百度主要做開源項(xiàng)目,當(dāng)前工作核心是百度開源基礎(chǔ)架構(gòu)(分布式存儲(chǔ)、集群管理、網(wǎng)絡(luò)通信框架),這是百度自主研發(fā)的,與hadoop生態(tài)對(duì)應(yīng)的一套大數(shù)據(jù)處理平臺(tái)。
百度文件系統(tǒng)BFS對(duì)應(yīng)hadoop的HDFS,海量數(shù)據(jù)庫Tera對(duì)應(yīng)hadoop的HBase,分布式協(xié)調(diào)服務(wù)Nexus對(duì)應(yīng)Zookeeper,集群調(diào)度系統(tǒng)Galaxy對(duì)應(yīng)Yarn,計(jì)算框架shuttle對(duì)應(yīng)MapReduce。
【51CTO原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】
























