世界上最大最忙的數(shù)據(jù)倉庫:Yahoo!

2008-05-30 13:17:57      s1985

    微軟對 Yahoo! 的收購持久戰(zhàn)可能讓很多人都新聞疲勞了。但今天看到的這個關(guān)于 Yahoo! 的技術(shù)新聞還是值得看一下的:Size matters: Yahoo claims 2-petabyte database is world"s biggest, busiest .Yahoo! 的 VP Waqar Hasan 在文中披露 Yahoo!的數(shù)據(jù)倉庫當(dāng)前容量為 2PB.用于分析每月5億的用戶訪問行為,每天處理 240 億次的事件,號稱世界上單個最大、最忙的數(shù)據(jù)庫。

    盡管有的數(shù)據(jù)倉庫容量要比雅虎的大。但那些 DB 或是存儲非關(guān)系性數(shù)據(jù),或是存儲的壓縮后的原始數(shù)據(jù),不能進(jìn)行即時分析,雅虎之前的也有數(shù)百 T 這樣的數(shù)據(jù)。眼下 Yahoo!數(shù)據(jù)倉庫存儲的是結(jié)構(gòu)化、可分析的數(shù)據(jù)。預(yù)計(jì)下一年可能膨脹到數(shù)十 PB .eBay 號稱數(shù)據(jù)總量有 6PB ,不過根據(jù)一些消息來看,單個最大的 DB 只有 1.4 PB.

    Yahoo! 在 2005 年買了一家叫 Mahat Technologies 的初創(chuàng)公司(就是 Waqar Hasan 操刀的),這家公司以 PostgreSQL 數(shù)據(jù)庫為基礎(chǔ),開發(fā)了一個新型 DB,其特點(diǎn)是 基于列 的而不是基于行的模式。不難理解,這樣數(shù)據(jù)寫入的速度會慢下來,但是讀取的速度會快很多「去年的俠客行上,雷鳴在演講的時候講過他在百度的時候做的一個優(yōu)化的例子。和這個思想非常相似,所以當(dāng)時我說對我"有啟發(fā)"」。Yahoo! 買了之后,對該產(chǎn)品進(jìn)行了持續(xù)性的改進(jìn)(內(nèi)部代號: ELCARO ?) ,比如壓縮,并行處理能力加強(qiáng)、優(yōu)化查詢等等特性的添加改進(jìn)。而針對使用者的接口仍是 PostgreSQL .這應(yīng)該也算 PostgreSQL 在頂級企業(yè)又一個成功案例。

    這么大的數(shù)據(jù)庫并沒有采用傳統(tǒng)的 SMP 架構(gòu)構(gòu)建,而是采用普通 PC 作集群(用了不到 1000 臺) .很明顯這是 Share Nothing 而不是 Share Storage 的 DB 集群。通過上述獨(dú)特的設(shè)計(jì)方式,能夠?qū)Υ撕A繑?shù)據(jù)進(jìn)行有效的分析,這是個不小的技術(shù)革新,也是與 Google Map Reduce 完全不同的計(jì)算模式。

    讓人感慨的是 關(guān)于世界上的超大數(shù)據(jù)庫 一文中羅列的數(shù)據(jù),現(xiàn)在看起來已經(jīng)并不驚人了。以前總說信息爆炸,這個時代剛剛來臨。

相關(guān)閱讀