淘寶專家深入解析數據倉庫架構實施
2007年淘寶的交易額已經超過了沃爾瑪和家樂福在中國的銷售額的總和,占據中國網購市場70%以上的份額。在這些成倍數增長的業績數字背后,需要數據庫技術來支持企業未來持續成長的延展空間。淘寶網資深數據庫專家江楓在接受51CTO記者專訪時,分享了淘寶2004年開始構建的企業級數據倉庫。
淘寶將數據倉庫部署在Oracle RAC上,這是一個由20個節點組成的單一數據庫集群。“為了更好地了解客戶的需求,分析和挖掘淘寶后臺大量數據信息的價值,2007年、2008年我們先后兩次利用Oracle RAC 10g對數據倉庫系統進行了升級和擴充,節點數從4個升級到12個,后來又升級到了20個節點”,江楓談到:“2009年開始我們也在測試Oracle 11g。這樣的升級令淘寶在數據倉庫規模每年成倍擴大的情況下,實現了數據處理和分析時效性的不斷提升。”
淘寶所有的商業數據基本上都匯集到了數據倉庫利中。利用數據倉庫技術,淘寶抽取了分散在不同業務系統中的業務數據進行集中,這些信息是完整記錄了用戶訪問路徑、交易過程的海量數據。通過數據倉庫的清洗、整理、過濾、排序等技術手段,這些海量的數據形成了具有商業價值的業務信息,并生成反映最新市場現狀的統計分析數據報表。“現在淘寶每天的活躍數據超過50TB”,江楓說:“這些數據是每天進行動態分析的,這樣淘寶在交易中也更好的提供了精準的個性化服務。”
數據倉庫架構分析
淘寶數據倉庫中的許多業務查詢與分析都是動態的,數據處理量大,實效性較高。“Oracle RAC具有非常好的并行處理能力,這對動態查詢和模糊查詢有很大幫助,能夠有效滿足淘寶數據倉庫這種復雜和動態的海量數據分析處理需求”,江楓認為“對于淘寶這樣處于新興行業中且高速發展的企業來說,數據倉庫良好的線性擴展能力也極為重要,它可以使得淘寶在需要的時候,通過向集群中增加低成本的普通服務器來滿足高性能的數據處理需求,從而獲得很好的投入產出比。”
Oracle RAC的線性擴展能夠始終提供整個企業統一的信息視圖和數據集市,而不會像一些擴展能力有限的系統那樣,隨著數據量的增長,系統性能逐漸下降,最后不得不將數據分離,建立多個小規模的數據集市,造成管理和數據訪問的困難。
對于大型數據倉庫的應用系統,淘寶在建立初期就考慮到如何能有效而簡單地進行系統管理。特別是當數據量不斷擴大時,如果沒有一種有效而且簡單的系統管理措施,那么系統的運行費用將會很高。江楓說:“Oracle ASM中提供了磁盤管理、數據流量平衡以及自動創建和刪除數據文件等管理功能,有效的增加了數據倉庫系統管理動態數據庫環境的靈活性,降低了管理成本。”
數據挖掘實現全面的商業智能
在近期推出的《i淘寶》個性化推薦的計算中,通過使用Oracle RAC 跨節點并行技術。“淘寶數據倉庫實現了相關模塊計算時間的顯著縮短,最多的縮短了2小時以上,最少的也縮短了30分鐘,為淘寶成功實施個性化推薦提供了重要保障”,江楓進一步指出:“淘寶還將利用數據倉庫為用戶提供更多的服務,比如提供店鋪內推薦、精確郵件定向營銷以及購物風尚榜等服務項目,這些服務項目和數據指標在前臺使用起來非常簡單,其實它們都是來自于海量數據的高度濃縮,Oracle RAC的高性能平臺很好地支持了這些非常復雜的計算過程。”
淘寶的研發團隊有超過2000人的規模,其中做數據產品的技術團隊超過100人,包括30多名DBA專家組成的團隊。抽取分布在不同環境下的數據集中到數據倉庫中的工具ETL,就是淘寶的技術團隊自己研發的。“這個叫做天網的系統,也是基于Oracle開放的架構平臺之上完成的”,江楓說:“對于二次研發的把控性來說,我們更愿意選擇開放架構的平臺,同時對于不同的大存儲量或者大規模的產品語句來評估Oracle的解決方案,他都是更適合淘寶業務的一個選擇,事實也證明了這一點。”
未來淘寶的定位會是一家數據公司,所以數據將是淘寶的核心價值所在。數據不僅讓淘寶的用戶有更明確的市場定位,同時,對于淘寶內部來說,根據不同用戶在數據上顯示出的不同特性,對淘寶的運營策略是非常重要的數據支持。從數據管理的角度,淘寶也有自己的一整套監控系統進行支持,包括防欺詐、防惡意數據等。“淘寶所有的數據至少是1比1的在兩個機房同時備份來保證數據安全,當然也包括有異地的數據備份機制”,江楓談到:“我們可以保證一個機房在斷電或者是火災的情況下,另外一個機房在很短的時間內繼續向淘寶網的用戶提供服務。”