對于大多數(shù)IT顧問來說,實現(xiàn)一個數(shù)據(jù)倉庫的難度比以前做過的任何項目難度都要大?紤]到不同的數(shù)據(jù)結(jié)構(gòu)、用途以及應用程序開發(fā)方法,以前所積累的經(jīng)驗和技巧大部分都無用武之地了。但是只要在你的前進道路上稍加修正,你就會發(fā)現(xiàn)實現(xiàn)一個數(shù)據(jù)倉庫并不是難事,就算你是第一次實現(xiàn)數(shù)據(jù)倉庫也沒問題。
下面列出了數(shù)據(jù)倉庫實施過程需要考慮的步驟,有一些你可能從來沒有意識到,而另一些可能已經(jīng)在實施過程中使用到了,但是重新思考一番也許你會有更多的領悟。開放思維,不斷嘗試新的途徑,找到一種可行的數(shù)據(jù)倉庫實現(xiàn)方法。
1.再三考慮應用程序的實現(xiàn)方法
數(shù)據(jù)倉庫并不涉及事務處理,并且在報表方面也僅占一小部分。而數(shù)據(jù)倉庫應用程序的本質(zhì)是分析,尤其是針對業(yè)務智能的分析。BI并不是通常所說的數(shù)據(jù):它是一種從舊有數(shù)據(jù)中,模型化得到的新的數(shù)據(jù)。那么如何才能從舊有數(shù)據(jù)中挖出這些新數(shù)據(jù)呢?事實上,這個工作不是讓你來完成的,而是你的客戶所要完成的。從項目主管的角度看,應該有一個經(jīng)驗豐富的數(shù)據(jù)表格設計師與你合作,進而決定如何將各類程序融合在一起。其中所遇到的最主要的挑戰(zhàn)將是如何用新的方法觀察數(shù)據(jù),這也是你的客戶正在試圖使用的方法。
2.創(chuàng)建抽象的、良好部署的數(shù)據(jù)庫訪問組件
在過去你接觸過的數(shù)據(jù)庫項目和現(xiàn)在的數(shù)據(jù)倉庫之間,有一點絕對不同,那就是:在Online Transaction Processing (OLTP)環(huán)境中,用戶數(shù)量非常大,但使用到的數(shù)據(jù)卻比較少;而在Online Analytical Processing (OLAP)環(huán)境中情況卻正好相反,少量的用戶在使用大量的數(shù)據(jù)。而你的工作就是編寫一個應用程序來優(yōu)化這種不同。這里有一個線索:在你所有的分析程序中,都要能抓取連續(xù)的數(shù)據(jù)項,這樣在以后建立和訪問的數(shù)據(jù)結(jié)構(gòu)中才能存放與原數(shù)據(jù)物理結(jié)構(gòu)類似的數(shù)據(jù)。具體如何實現(xiàn)呢?首先不要規(guī)格化數(shù)據(jù)。第二將其放入數(shù)組中最小化讀取請求數(shù)。按照這種方法,DBA會很樂意與你合作。
3.保持松散
現(xiàn)在回頭看看第一步,你應該可以理解定義一個分析程序不是件簡單事了,而且一般情況下,很難在第一次就實現(xiàn)符合要求的最終產(chǎn)品。而在你將要進行分析的數(shù)據(jù)結(jié)構(gòu)上同樣存在這種問題。一句話,實現(xiàn)過程會有很多變數(shù),你需要不斷的改動你的程序。通常我們都希望將改動次數(shù)降到最低。在一個數(shù)據(jù)倉庫實現(xiàn)過程中,本質(zhì)是要分析過程毫無差錯,這也需要DBA的參與。不要死抓住你的程序設計、代碼、框圖,或你建立的其它什么東西不放手,要根據(jù)這種變化而不斷進行調(diào)整。
4.將管理放在首位
在分析數(shù)據(jù)源方面你做的如何呢?你是否認為清理垃圾數(shù)據(jù)的工作非常困難?并不是只有你一個人這樣想,做過類似工作的人都有這種看法。在一個一般規(guī)模的機構(gòu)中,作為數(shù)據(jù)倉庫實現(xiàn)過程的一部分,會有大量的舊有數(shù)據(jù)必須進行一致性處理。所以分析數(shù)據(jù)源并花費數(shù)個小時編寫轉(zhuǎn)換程序?qū)⑴f有數(shù)據(jù)導入數(shù)據(jù)倉庫是整個數(shù)據(jù)倉庫實現(xiàn)過程中最艱難的一部分。并且這也是整個項目中最重要的一環(huán),可以占到整個項目周期和預算的四分之三。所以一定要小心對待。
5.從字里行間發(fā)現(xiàn)問題
與用戶交流是個很麻煩的事情,為什么這么說呢?因為很多用戶在見到最終產(chǎn)品前都不知道自己想要什么樣的產(chǎn)品。定義數(shù)據(jù)倉庫應用程序是一個探索的過程,而且這個過程要反復進行。記住所謂的"業(yè)務智能"是用戶自己定義的,他們按照自己的理解來處理業(yè)務流程。因此這些用戶就是連接數(shù)據(jù)和業(yè)務處理過程間的橋梁。他們所要的并不是數(shù)據(jù)本身,而是隱藏在數(shù)據(jù)后面的智能性。你可以讓他們討論、思考并給出建設性的意見。但千萬不要讓他們解決或讓他們?nèi)我庀胂蠛桶l(fā)表那些"有可能"的觀點。最后,一定要隨時留意用戶得出的結(jié)論。
6.保持領先
數(shù)據(jù)倉庫看起來沒有傳統(tǒng)的OLTP模式根深蒂固,事實如此。雖然很多人投身數(shù)據(jù)倉庫的開發(fā)中,但由于其框架與以前的系統(tǒng)大相徑庭,因此在開始的一段時間數(shù)據(jù)倉庫的實現(xiàn)看上去相當混亂。但是堅持下去是很重要的。它具有兩方面重要的作用。
第一,技術的領先性。它可以跟蹤項目中任何階段的軟件工具的部署和正確使用,以及開發(fā)過程。如果這復合你的背景,你可以對此多加留意。
第二,體系結(jié)構(gòu)的領先性。它使得項目在各個階段轉(zhuǎn)換時,數(shù)據(jù)倉庫和它所支持的系統(tǒng)的物理以及邏輯架構(gòu)都具有持續(xù)性,不會發(fā)生改變。這也是你能提供的。
7.發(fā)出警告
最后你要記住,你并不是唯一登上新大陸的人。你周圍的每一個人都會有下面一點或幾點問題:不現(xiàn)實的期望、對技術的誤解、舊習慣或壞習慣、競爭行為,或缺乏對項目的信任度。雖然交流溝通等任務應該是項目經(jīng)理負責的,但實際上你也要擔負起相同的責任。那么作為技術總監(jiān)你該怎么作呢?首先當然是要真誠的對待周圍的人,但一定要豎立威信,適當?shù)陌l(fā)出警告。當你發(fā)現(xiàn)項目進度緩慢、資源流失,或者員工失去目標,就要直言不諱的說出來。快速明確的給予警告在大部分情況下都是明智之舉。匆忙上馬的數(shù)據(jù)倉庫項目也許會出軌,但不要讓失敗的項目把你拉下馬。
相關推薦:2010年計算機軟件水平考試時間安排通知北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |