1. Yahoo數(shù)據(jù)倉庫的整體架構
Yahoo數(shù)據(jù)倉庫在基礎架構上由hadoop集群和Oracle集群組成,hadoop集群是一個計算平臺,完成所有ETL數(shù)據(jù)處理過程;Oracle集群只是一個查詢環(huán)境。
數(shù)據(jù)通過Data highway從源系統(tǒng)加載進入數(shù)據(jù)倉庫的ODS層,ODS層數(shù)據(jù)保持與源系統(tǒng)數(shù)據(jù)結構一樣。EDW數(shù)據(jù)層并沒有嚴格意義的數(shù)據(jù)層次的邏輯細分,它可能有多層的ETL加工過程;多層的數(shù)據(jù)存儲。這一個層數(shù)據(jù)主要采用維度建模的方法,根據(jù)應用需求建立數(shù)據(jù)模型。數(shù)據(jù)采用列式存儲的數(shù)據(jù)結構存儲。
數(shù)據(jù)經(jīng)過加工處理完成后,數(shù)據(jù)將會同步到Oracle的集群中用做數(shù)據(jù)查詢。Yahoo用Oracle做查詢環(huán)境,他們的大量采用了基于時間RANGE分區(qū)和HASH子分區(qū)的方式來提升查詢響應性能(類似與Greenplum的方式)。數(shù)據(jù)采用了壓縮技術,同時基于壓縮和讀取的方式上ORACLE官方為他們定制了一些改進,從而獲取更好的讀取IO和壓縮能力。
MSTR報表工具連接ORALCE完成大部分報表查詢功能,同時,如果要查詢最明細的數(shù)據(jù),工具會連接到HADOOP集群上,通過創(chuàng)建一些臨時表來滿足查詢功能。
同時,Yahoo的倉庫配備了一個功能強大的元數(shù)據(jù)管理系統(tǒng),他們的元數(shù)據(jù)是通過SQL解析,直接將ETL mapping的元數(shù)據(jù)解析進入元數(shù)據(jù)庫,做到了字段級別的MAPPING。同時他們的PM會維護最新的業(yè)務元數(shù)據(jù)(業(yè)務規(guī)則,指標定義)進入的元數(shù)據(jù)庫系統(tǒng)。
2. Yahoo數(shù)據(jù)倉庫建模方法
Yahoo數(shù)據(jù)倉庫建?;旧喜捎镁S度建模的思想,他們強調一致的維度在保持數(shù)據(jù)倉庫模型的一致性上的作用。他們會花一定的時間去識別每個新進入倉庫的數(shù)據(jù)表,并了解它的業(yè)務規(guī)則和數(shù)據(jù)屬性,由數(shù)據(jù)架構師完成對數(shù)據(jù)整合的設計工作。
Yahoo也建立一些稀疏的寬表,它的基于每個日志訪問記錄表的寬表就有上千個字段。
3 . Yahoo數(shù)據(jù)倉庫的團隊成員構成
Yahoo團隊主要由DHW配置人員,ETL開發(fā)人員、數(shù)據(jù)架構師、BI分析人員和PM人員組成。他們介紹他們團隊大概有30個人,應該只有一個PM而且投入也是50%,從這看來他們的應用需求應該比我們B2B少很多。
4. Data Architect的職責
數(shù)據(jù)架構師基本上負責整個全局數(shù)據(jù)倉庫的模型,表的設計。數(shù)據(jù)架構師對掌控整個倉庫的表結構。同時,Yahoo經(jīng)常從外面收購不同的公司,很大一個職責和任務是需要整合新的據(jù)源進入數(shù)據(jù)倉庫的模型中。
5. Yahoo實時倉庫的現(xiàn)狀
Yahoo的實時倉庫應用較少,應用點就是廣告的結算使用,按時間窗口,采用Oracle的LogMiner捕獲準實時變化數(shù)據(jù),通過事件觸發(fā)后續(xù)的ETL處理過程。
6. Yahoo對數(shù)據(jù)倉庫人力資源的使用原則
Yahoo的數(shù)據(jù)倉庫人力資源不在業(yè)務方,而由自己控制。他們將商業(yè)價值和對數(shù)據(jù)倉庫整體影響排在前面兩個最重要的位置。當出現(xiàn)資源沖突的時候,不由業(yè)務方的獨自利益為導向。




