數(shù)據(jù)倉(cāng)庫(kù)和我們常見(jiàn)的RDBMS系統(tǒng)有些親緣關(guān)系,但它又有所不同。如果你沒(méi)有實(shí)施過(guò)數(shù)據(jù)倉(cāng)庫(kù),那么從設(shè)定目標(biāo)到給出設(shè)計(jì),從創(chuàng)建數(shù)據(jù)結(jié)構(gòu)到編寫(xiě)數(shù)據(jù)分析程序,再到面對(duì)挑剔的用戶(hù)的評(píng)估,整個(gè)過(guò)程都會(huì)帶給你一種與以往的項(xiàng)目完全不同的體驗(yàn)。一句話,如果你試圖以舊有的方式創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù),那你所面對(duì)的不是預(yù)算超支就是所建立的數(shù)據(jù)倉(cāng)庫(kù)無(wú)法良好運(yùn)作。
在處理一個(gè)數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目時(shí)需要注意的問(wèn)題很多,但同時(shí)也有很多有建設(shè)性的參考可以幫助你更順利的完成任務(wù)。開(kāi)放思維,不斷嘗試新的途徑,對(duì)于找到一種可行的數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)方法來(lái)說(shuō)也是必需的。
1.配備一個(gè)全職的項(xiàng)目經(jīng)理或你自己全面負(fù)責(zé)項(xiàng)目管理
在通常情況下,項(xiàng)目經(jīng)理都會(huì)同時(shí)負(fù)責(zé)多個(gè)項(xiàng)目的實(shí)施。這么做完全是出于資金和IT資源方面的考慮。但是對(duì)于數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目的管理,絕對(duì)不能出現(xiàn)一人身兼數(shù)個(gè)項(xiàng)目的情況。由于你所處的領(lǐng)域是你和你的團(tuán)隊(duì)之前沒(méi)有進(jìn)入過(guò)的領(lǐng)域,有關(guān)數(shù)據(jù)倉(cāng)庫(kù)的一切-數(shù)據(jù)分析、設(shè)計(jì)、編程、測(cè)試、修改、維護(hù)-全都是嶄新的,因此你或者你指派的項(xiàng)目經(jīng)理如果能全心投入,對(duì)于項(xiàng)目的成功會(huì)有很大幫助。
2.將項(xiàng)目管理職責(zé)推給別的項(xiàng)目經(jīng)理
由于數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)過(guò)程實(shí)在是太困難了,為了避免自虐,你可以在當(dāng)前階段的項(xiàng)目完成后就將項(xiàng)目管理職責(zé)推給別的項(xiàng)目經(jīng)理。當(dāng)然,這個(gè)新的項(xiàng)目經(jīng)理一定要復(fù)合第一條所說(shuō)的具有全職性。為什么要這么做呢?首先,從項(xiàng)目經(jīng)理的角度看,數(shù)據(jù)倉(cāng)庫(kù)實(shí)施過(guò)程的任何一個(gè)階段都足以讓人身心疲憊。從物理存儲(chǔ)設(shè)備的開(kāi)發(fā)到Extract-Transform-Load的實(shí)現(xiàn),從設(shè)計(jì)開(kāi)發(fā)模型到OLAP,所有階段都明顯的比以前接觸的項(xiàng)目更加困難。每個(gè)階段不但需要新的處理方法、新的管理方法,還需要?jiǎng)?chuàng)新性的觀點(diǎn)。所以將管理職責(zé)推給別的項(xiàng)目經(jīng)理不但不會(huì)對(duì)項(xiàng)目有損害,還可以起到幫助作用。
3.與用戶(hù)進(jìn)行溝通
這里所講的內(nèi)容遠(yuǎn)比一篇文章本身要重要的多。你必須明白,在數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)階段,那些潛在用戶(hù)自己也不清楚他們到底需要數(shù)據(jù)倉(cāng)庫(kù)為他們做什么。他們?cè)诓粩嗟奶剿骱桶l(fā)現(xiàn)自己的需求,而你的開(kāi)發(fā)團(tuán)隊(duì)也在和客戶(hù)的接觸中做著同樣的事情。更加頻繁的與客戶(hù)接觸,多做記錄,并讓你的團(tuán)隊(duì)更關(guān)注于項(xiàng)目需求討論的結(jié)果而不是討論的過(guò)程本身。
既然你和客戶(hù)的交流是為了了解存儲(chǔ)的數(shù)據(jù)是何種類(lèi)型以及如何有效存儲(chǔ)數(shù)據(jù),你也許需要(和你的用戶(hù)一起)采用一種新的方法觀察數(shù)據(jù),而不是直接處理數(shù)據(jù)。你可以嘗試從中找出隱藏的信息,比如在一段時(shí)期內(nèi)的數(shù)字漲落等。不要試圖追尋項(xiàng)目需求的答案,而是要讓答案找上門(mén)來(lái)。
4.以技術(shù)/信息庫(kù)作為領(lǐng)導(dǎo)
由于數(shù)據(jù)倉(cāng)庫(kù)實(shí)施的各個(gè)階段都有很大不同,因此你需要有人能起到維持整個(gè)項(xiàng)目的連續(xù)進(jìn)行的作用,不過(guò)這個(gè)職責(zé)并不需要那種全職性。項(xiàng)目實(shí)施有三個(gè)重要方面:架構(gòu)、技術(shù)和業(yè)務(wù)。將架構(gòu)作為重點(diǎn)可以保證在整個(gè)項(xiàng)目中,數(shù)據(jù)倉(cāng)庫(kù)的架構(gòu)從物理層往上,都會(huì)受到良好的維護(hù)。而我們應(yīng)該將技術(shù)作為重點(diǎn),因?yàn)殚_(kāi)發(fā)團(tuán)隊(duì)和關(guān)鍵用戶(hù)都在使用他們以前從未用過(guò)的工具,必須有人監(jiān)督開(kāi)發(fā)過(guò)程以及工具使用的一致性。
最后,在數(shù)據(jù)倉(cāng)庫(kù)的應(yīng)用過(guò)程中浮現(xiàn)出來(lái)的業(yè)務(wù)需求必須被詳細(xì)分析和記錄,以促機(jī)開(kāi)發(fā)過(guò)程持續(xù)下去。如果用戶(hù)不能很好的開(kāi)發(fā)人員以及其它用戶(hù)溝通,那么數(shù)據(jù)分析和度量方面的開(kāi)發(fā)進(jìn)程就會(huì)延期,所以必須有人關(guān)注業(yè)務(wù)方面的開(kāi)發(fā),推動(dòng)開(kāi)發(fā)進(jìn)入更高級(jí)別。
5.跳出反復(fù)修改程序的陷阱
第一次實(shí)現(xiàn)的數(shù)據(jù)倉(cāng)庫(kù)肯定不會(huì)是最終交付的版本。為什么呢?實(shí)際上在真正見(jiàn)到產(chǎn)品前,你無(wú)法確定的知道自己的目標(biāo)是什么;蛘哒f(shuō),最終用戶(hù)只有在使用數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)品一段時(shí)間后,才能明確告訴你這個(gè)產(chǎn)品是不是他所希望的。與你以往處理的項(xiàng)目不同,業(yè)務(wù)智能還處于發(fā)展的初期,每個(gè)公司對(duì)業(yè)務(wù)智能都有不同的解釋?zhuān)虼四愕捻?xiàng)目決不會(huì)一次成功。
為了以正確的格式獲得數(shù)據(jù),你需要在不斷變化的狀況中摸索前進(jìn)。BI具有很強(qiáng)的個(gè)性,不同的環(huán)境、不同的市場(chǎng)以及不同的企業(yè)都有不同的BI。這又代表什么呢?這表示你需要把數(shù)據(jù)庫(kù)管理員放在一個(gè)消息相對(duì)封閉的環(huán)境中,不要讓他知道數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)結(jié)構(gòu)以及ETL程序在不斷的改變。對(duì)此沒(méi)有別的辦法。這樣可以減輕你和DBA所承受的壓力。
6.對(duì)大量的前端資源進(jìn)行數(shù)據(jù)源分析
在數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)過(guò)程中,你不得不在舊有的數(shù)據(jù)中艱難跋涉,這些數(shù)據(jù)來(lái)自老的數(shù)據(jù)庫(kù)、老的磁帶機(jī)以及遠(yuǎn)程的數(shù)據(jù)。它們中的大部分都凌亂不堪,并且難以獲取。你要對(duì)這些數(shù)據(jù)進(jìn)行大量處理,并且還要設(shè)計(jì)ETL程序來(lái)尋找其中的有用信息。如果你希望整個(gè)項(xiàng)目做起來(lái)比較順利,并且找到一種方法能夠一次成功,那就需要你的開(kāi)發(fā)人員必須花費(fèi)足夠的時(shí)間來(lái)充分研究這些舊有數(shù)據(jù),將凌亂的數(shù)據(jù)規(guī)則化,并盡力設(shè)計(jì)和實(shí)現(xiàn)強(qiáng)壯的數(shù)據(jù)采集和轉(zhuǎn)換過(guò)程。數(shù)據(jù)倉(cāng)庫(kù)的ETL部分會(huì)占用整個(gè)項(xiàng)目資源的百分之八十,所以一定要確定你的資源都用在刀刃上了。
7.將人際關(guān)系處理放在首位
在數(shù)據(jù)倉(cāng)庫(kù)實(shí)現(xiàn)過(guò)程中真正的地獄不是來(lái)自技術(shù)或者開(kāi)發(fā)方面,而是來(lái)自你周?chē)娜。你也許會(huì)遇到一個(gè)對(duì)項(xiàng)目并不樂(lè)觀而又沒(méi)時(shí)間聽(tīng)你陳述的領(lǐng)導(dǎo)。你也許會(huì)遇到一些開(kāi)發(fā)人員將進(jìn)度拖延太長(zhǎng)時(shí)間還抱怨為什么不能用老方法實(shí)施。你也許還會(huì)遇到一些抱有不切實(shí)際的幻想的用戶(hù),他們希望輕點(diǎn)鼠標(biāo)就能實(shí)現(xiàn)想象中的功能,但卻不愿在他們那邊多做些智力投資,更好的培訓(xùn)他們自己的員工。而你也已經(jīng)疲憊不堪,鼓勵(lì)投資,以及在開(kāi)發(fā)團(tuán)隊(duì)和用戶(hù)(甚至老板)中推廣新的開(kāi)發(fā)技巧。
總之你要保持微笑。當(dāng)一切搞定,你的煩惱也就一掃而空了,笑到最后才笑得最輕松。
相關(guān)推薦:軟考數(shù)據(jù)庫(kù):順利開(kāi)發(fā)數(shù)據(jù)倉(cāng)庫(kù)的七種思路北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |