星期一, 6月 21, 2010

雲端運算Cloud computing學習心得筆記(三) Yahoo的架構

  提到Hadoop其實就會想到Yahoo, Yahoo 目前是最大的Hadoop使用者,於2009年10月公佈的數字,已有4000個node clusters在運作

為何Yahoo要改用Hadoop呢

Yahoo 提出的理由如下[1] :

image

 

的確, 如果Yahoo在以前是使用傳統N-tiers 的方式,在維護及擴充方面會比較困難,而且成本較高,我想這也是為何Yahoo在服務上的擴展一直不如Google迅速有效率的原因,看來這幾年Yahoo花了不少功夫在改變核心架構以提升競爭力,還於2006年聘顧了Hadoop 之父Doug Cutting來主持Hadoop計劃.

 

  我們再來看看 Yahoo從2006年以後 Hadoop 硬體上的成長曲線[2],已經到了25000 nodes ,82Peta的Disk,成長速度相當驚人,這也讓我們了解到,要長期維持在全球流量第一,就必須持續的擴充及成長,而不是停在原地。

image

Yahoo 的Hadoop架構用在哪些方面呢?

以Yahoo首頁為例[3]

image 

傳統的網頁是靜態的,也就是說內容都是由編輯人員事先設定完成,但新型態的網頁內容都傾向由用戶行為去分析哪些資料是重要的,也就是說,在Yahoo首頁會根據用戶的點選及搜尋行為,去做內容的優化,也可以根據mail上用戶的行為來判斷垃圾信,傳統網站的做法會把這些網站內容的用戶使用記錄存放在資料庫裡分析,這樣的成本相當額貴而且沒效率。

 

Yahoo 導入Hadoop後增加多少效率呢?

以Search assist 為例 :

 image

我們每次利用關鍵字搜尋資料,在Search box下方會有些推薦的關鍵字,這些資料的產生若用以前傳統的架構,要26天才分析完成3年的資料再更新到網站,光開發這個功能就要3周的時間,但利用Hadoop架構只要2-3天就開發完成,而且可以每20分鐘就分析完資料並更新,一些熱門的關鍵字都可以很快的被顯示在Search assist上,帶給用戶更好的使用體驗。

 

開發流程管理

Hadoop Development Workflow with Gridmix3

Yahoo 目前是用Gridmix3及Rumen 來管理布署及監控Hadoop架構[4]

 

未來發展

我們可以參考Hadoop summit 2010 會議 ,Hbase、 Pig、 Hive、 Cascalog 、ZooKeeper 等相關技術持續在討論,流程管理工具Oozie還在發展中,有興趣的人可以報名參加。

Agenda 在 http://developer.yahoo.com/events/hadoopsummit2010/agenda.html#71

 

 

資料來源:

[1]Yahoo!Webmap ,Christian Kunz, March 25, 2008

[2][3]Hadoop at Yahoo, Eric Baldeschwieler ,VP Hadoop Software Development, Yahoo!

[4] http://developer.yahoo.net/blogs/hadoop/2010/04/gridmix3_emulating_production.html

http://www-07.ibm.com/tw/imc/igs/article/2_1/3.html

http://developer.yahoo.net/blogs/hadoop/

Hadoop at yahoo https://opencirrus.org/system/files/OpenCirrusHadoop2009.ppt

http://research.yahoo.com/node/2104

沒有留言: