最近負(fù)責(zé)的兩塊主要是統(tǒng)計(jì)報(bào)表,具體有差不多400個(gè)報(bào)表需要開發(fā)。在開發(fā)過(guò)程中使用到了潤(rùn)乾的報(bào)表軟件,也使用了潤(rùn)乾的OLAP組件,建立了一大堆的中間表,然后使用Oracle的ODI做定時(shí)任務(wù)晚上抽取數(shù)據(jù)到中間表,第二天提供給客戶統(tǒng)計(jì)。也有一些比較復(fù)雜的業(yè)務(wù)沒有辦法使用ODI抽取,只能寫成JAVA的方式晚上做批處理。批處理數(shù)據(jù)量都比較大,代碼質(zhì)量不高的話很容易內(nèi)存溢出;ODI對(duì)開發(fā)人員的SQL語(yǔ)句要求較好,因?yàn)樵磾?shù)據(jù)可能需要經(jīng)過(guò)很多處理,建立為VIEW然后才使用ODI抽取。如何提高SQL語(yǔ)句的效率是關(guān)鍵的問(wèn)題,建立必要的索引,不斷的優(yōu)化SQL語(yǔ)句。但是,不管是批處理還是ODI都不是最麻煩的,最麻煩的是400張報(bào)表涉及到上千個(gè)數(shù)據(jù)項(xiàng)的分析工作。下面5個(gè)人,2個(gè)在做JAVA批處理,1個(gè)在做ODI,2個(gè)在做報(bào)表,不停的問(wèn)我數(shù)據(jù)項(xiàng),而我不是一個(gè)數(shù)據(jù)項(xiàng)倉(cāng)庫(kù),N多不清楚的只有打電話給客戶或者詢問(wèn)我們這邊對(duì)應(yīng)的子系統(tǒng)的負(fù)責(zé)人。而系統(tǒng)從原來(lái)的CS模式遷移過(guò)來(lái)的歷史數(shù)據(jù),質(zhì)量很難保證,數(shù)據(jù)遷移工作存在很大的質(zhì)量問(wèn)題。很多數(shù)據(jù)項(xiàng)知道怎么查,但是一個(gè)SQL語(yǔ)句過(guò)去,查出來(lái)的數(shù)據(jù)差了十萬(wàn)八千里,客戶那里肯干。總之,報(bào)表開發(fā)數(shù)據(jù)項(xiàng)麻煩,性能是大問(wèn)題,對(duì)歷史數(shù)據(jù)的報(bào)表更加困難。
9月份公司安排不加班,我希望可以陸續(xù)整理點(diǎn)關(guān)于ODI開發(fā)的文檔。感覺對(duì)ODI的使用還是比較深入,從最開始簡(jiǎn)單的抽取數(shù)據(jù),到后來(lái)的定時(shí)任務(wù),到現(xiàn)在修改KM進(jìn)行簡(jiǎn)單的優(yōu)化處理。對(duì)ODI的使用逐步深入,感覺Oracle的這個(gè)產(chǎn)品還是相當(dāng)不錯(cuò)的。相對(duì)于我們使用的另外一個(gè)Oracle的產(chǎn)品BAM來(lái)說(shuō),這個(gè)產(chǎn)品買的是相當(dāng)劃算了。BAM我們也買了,但是最終定的技術(shù)方案還是沒有使用。主要是支持太差勁了,網(wǎng)上也沒有多少文檔。那個(gè)產(chǎn)品在國(guó)內(nèi)應(yīng)該是使用的非常的少,上次BAM的產(chǎn)品經(jīng)理來(lái)中國(guó),說(shuō)是來(lái)直接和BAM的客戶面對(duì)面,了解客戶的需求然后改進(jìn)他們的產(chǎn)品。好像是一個(gè)USA,結(jié)果不知怎么Oracle這邊安排到了我們公司來(lái)面對(duì)面。可是我們根本沒有使用這個(gè)產(chǎn)品,公司領(lǐng)導(dǎo)沒有人甩他,安排了幾個(gè)人去和他一起開了個(gè)小座談會(huì)。記憶最深的就是,老外講了N久之后說(shuō)要喝水,我馬上給拿了開水一杯過(guò)來(lái)了。可是他搖頭,后來(lái)和他一起來(lái)的美女告訴我,外國(guó)人說(shuō)喝水都是要加點(diǎn)東西要么茶要么咖啡,不然就喝冷水。后來(lái)隨便哪里抓了點(diǎn)茶葉丟了進(jìn)去,那次算是我第一次和老外親密接觸。
談到BAM扯遠(yuǎn)了。在這個(gè)項(xiàng)目2年時(shí)間,先后參與了很多子系統(tǒng)。90%的系統(tǒng)都是業(yè)務(wù)系統(tǒng),什么審查、審批、質(zhì)檢等等,典型的電子政務(wù)模式。業(yè)務(wù)系統(tǒng)做完了,剩下的這10%就是統(tǒng)計(jì)查詢系統(tǒng)了。項(xiàng)目組90%的系統(tǒng)都差不多結(jié)了,而我手中這10%才剛剛開始,郁悶。手里有5個(gè)人在一起做統(tǒng)計(jì)查詢這塊的工作,但是面對(duì)這么大的項(xiàng)目,需要統(tǒng)計(jì)的數(shù)據(jù)項(xiàng)都是業(yè)務(wù)系統(tǒng)產(chǎn)生的數(shù)據(jù),我們只能一邊看PDM一邊和客戶、其他子系統(tǒng)負(fù)責(zé)人溝通。而客戶以前的報(bào)表是基于原有系統(tǒng)產(chǎn)生的,或者是采用逐層上報(bào)加體外循環(huán),利用VBA產(chǎn)生的,他們對(duì)新系統(tǒng)還很陌生。子系統(tǒng)負(fù)責(zé)人當(dāng)前的任務(wù)是保證自己負(fù)責(zé)的業(yè)務(wù)系統(tǒng)順利上線,他們每天都在客戶現(xiàn)場(chǎng)做測(cè)試做支持,管不到我這邊。項(xiàng)目組前期對(duì)統(tǒng)計(jì)查詢不夠重視,相關(guān)的工作沒有啟動(dòng),人員也一直沒有保證。是不是別的項(xiàng)目也是這樣對(duì)待查詢統(tǒng)計(jì)的?不知道別的大型的項(xiàng)目類似這種統(tǒng)計(jì)查詢系統(tǒng)后來(lái)是怎么開發(fā)的。希望有做過(guò)類似項(xiàng)目的高手給點(diǎn)指點(diǎn)。