數(shù)據(jù)倉庫開發(fā)之路之一--準備工作

在數(shù)據(jù)倉庫的開發(fā)過程中,需要熟悉大量的概念以及相關(guān)工具的使用纵顾,還需要了解宏觀上的各種開發(fā)流程敬鬓,串聯(lián)起來完成最終的數(shù)據(jù)倉庫項目的開發(fā),本篇介紹一些準備工作偏塞,包括涉及到的工具介紹唱蒸,以及開發(fā)過程的描述,記錄學習研究的印記灸叼,并和大家討論研究存在的相關(guān)問題神汹。
數(shù)據(jù)倉庫的開發(fā),是完全獨立于OLTP系統(tǒng)的古今,也就是獨立于當前各種應(yīng)用的業(yè)務(wù)系統(tǒng)而作的分析項目屁魏,因此要包含從數(shù)據(jù)的遷移(提取)捉腥、變換氓拼、清洗、加載等ETL操作抵碟,其中可以分為這么幾個數(shù)據(jù)層桃漾。
源數(shù)據(jù)層客戶的各種業(yè)務(wù)系統(tǒng)中的數(shù)據(jù),如包括企業(yè)拟逮、車輛和司機信息系統(tǒng)撬统、企業(yè)錄入數(shù)據(jù)和及營運等數(shù)據(jù),里面存放了大量的事務(wù)數(shù)據(jù)敦迄。
ODS數(shù)據(jù)層數(shù)據(jù)庫用戶ODS數(shù)據(jù)層主要管理把業(yè)務(wù)數(shù)據(jù)層的數(shù)據(jù)存儲到ODS數(shù)據(jù)層恋追,它的數(shù)據(jù)表主要就是來源于業(yè)務(wù)數(shù)據(jù)表,通過一些存儲過程把業(yè)務(wù)數(shù)據(jù)表結(jié)構(gòu)改變成基層的數(shù)據(jù)倉庫的表結(jié)構(gòu)罚屋。
DW數(shù)據(jù)層數(shù)據(jù)庫用戶DW主要管理把ODS數(shù)據(jù)層的數(shù)據(jù)存儲到DW數(shù)據(jù)層苦囱,它的數(shù)據(jù)表主要就是來源于ODS數(shù)據(jù)表,通過一些存儲過程把ODS數(shù)據(jù)表結(jié)構(gòu)改變成項目主題數(shù)據(jù)倉庫的表結(jié)構(gòu)沿后。DW數(shù)據(jù)層還管理一些對存儲過程的記錄表沿彭,方便數(shù)據(jù)倉庫的維護和管理。

ODS是一個面向主題的尖滚、集成的喉刘、可變的、當前的細節(jié)數(shù)據(jù)集合漆弄,用于支持企業(yè)對于即時性的睦裳、操作性的、集成的全體信息的需求撼唾。常常被作為數(shù)據(jù)倉庫的過渡廉邑,也是數(shù)據(jù)倉庫項目的可選項之一。
因此操作數(shù)據(jù)存儲(ODS) 是用于支持企業(yè)日常的全局應(yīng)用的數(shù)據(jù)集合,ODS的數(shù)據(jù)具有面向主題蛛蒙、集成的糙箍、可變的和數(shù)據(jù)是當前的或是接近當前的4個基本特征。同樣也可以看出ODS是介于DB和DW 之間的一種數(shù)據(jù)存儲技術(shù)牵祟,和原來面向應(yīng)用的分散的DB相比深夯,ODS中的數(shù)據(jù)組織方式和數(shù)據(jù)倉庫(DW)一樣也是面向主題的和集成的,所以對進入ODS的數(shù) 據(jù)也象進入數(shù)據(jù)倉庫的數(shù)據(jù)一樣進行集成處理诺苹。另外ODS只是存放當前或接近當前的數(shù)據(jù)咕晋,如果需要的話還可以對ODS中的數(shù)據(jù)進行增、刪和更新等操 作收奔,雖然DW中的數(shù)據(jù)也是面向主題和集成的掌呜,但這些數(shù)據(jù)一般不進行修改,所以O(shè)DS和DW的區(qū)別主要體現(xiàn)數(shù)據(jù)的可變性坪哄、當前性质蕉、穩(wěn)定性、匯總度上损姜。
為什么需要有一個ODS系統(tǒng)呢饰剥?一般在帶有ODS的系統(tǒng)體系結(jié)構(gòu)中,ODS都具備如下幾個作用:
1) 在業(yè)務(wù)系統(tǒng)和數(shù)據(jù)倉庫之間形成一個隔離層摧阅。
2) 轉(zhuǎn)移一部分業(yè)務(wù)系統(tǒng)細節(jié)查詢的功能汰蓉。
3) 完成數(shù)據(jù)倉庫中不能完成的一些功能。

這里我們就需要用到了IBM的DataStage工具棒卷。 DataStage 是一套專門對多種操作數(shù)據(jù)源的數(shù)據(jù)抽取顾孽、轉(zhuǎn)換和維護過程進行簡化和自動化,并將其輸入數(shù)據(jù)集市或數(shù)據(jù)倉庫目標數(shù)據(jù)庫的集成工具比规。DataStage可以從多個不同的業(yè)務(wù)系統(tǒng)中若厚,從多個平臺的數(shù)據(jù)源中抽取數(shù)據(jù),完成轉(zhuǎn)換和清洗蜒什,裝載到各種系統(tǒng)里面测秸。其中每步都可以在圖形化工具里完成,同樣可以靈活地被外部系統(tǒng)調(diào)度灾常,提供專門的設(shè)計工具來設(shè)計轉(zhuǎn)換規(guī)則和清洗規(guī)則等霎冯,實現(xiàn)了增量抽取、任務(wù)調(diào)度等多種復雜而實用的功能钞瀑。其中簡單的數(shù)據(jù)轉(zhuǎn)換可以通過在界面上拖拉操作和調(diào)用一些DataStage預定義轉(zhuǎn)換函數(shù)來實現(xiàn)沈撞,復雜轉(zhuǎn)換可以通過編寫腳本或結(jié)合其他語言的擴展來實現(xiàn),并且DataStage提供調(diào)試環(huán)境雕什,可以極大提高開發(fā)和調(diào)試抽取缠俺、轉(zhuǎn)換程序的效率显晶。DataStage是基于客戶機/服務(wù)器的數(shù)據(jù)集成架構(gòu),優(yōu)化數(shù)據(jù)收集壹士,轉(zhuǎn)換和鞏固的過程磷雇。它提供了一套圖形化的客戶工具:   包括:Designer(設(shè)計者):創(chuàng)建執(zhí)行數(shù)據(jù)集成任務(wù)Job的同時,對數(shù)據(jù)流和轉(zhuǎn)換過程創(chuàng)建一個可視化的演示墓卦。   Manager(管理者):對每個工程的各個單元倦春,包括:庫表定義,集中的數(shù)據(jù)轉(zhuǎn)換落剪,元數(shù)據(jù)連接等對象進行分類和組織。   Director(指揮者):為啟動尿庐,停止忠怖,監(jiān)視作業(yè)提供交互式控制。   Administrator(管理者):在服務(wù)器端管理DataStage的項目和使用者權(quán)限的分配


啟動Designer,我們可以在其中創(chuàng)建各種數(shù)據(jù)復制的Job抄瑟,然后通過串聯(lián)起來凡泣,完成整個業(yè)務(wù)數(shù)據(jù)的定時提取工作,所有工作可以在可視化界面上進行操作皮假,還是比較方便的鞋拟。


下圖是對于不同數(shù)據(jù)源之間的數(shù)據(jù)復制過程,中間有一個Transformer的變換對象來處理數(shù)據(jù)列之間的映射關(guān)系的惹资。


下圖是串聯(lián)各種Job對象贺纲,組裝成一個完成的數(shù)據(jù)復制流程。


完成上面的業(yè)務(wù)數(shù)據(jù)整合復制后褪测,就需要通過編寫大量的存儲過程猴誊,完成從ODS數(shù)據(jù)層到DW數(shù)據(jù)倉庫層的數(shù)據(jù)清洗加載操作了,一般我們可以在Pl/Sql Developer中完成相關(guān)存儲過程的編寫侮措,如下圖所示:


通過存儲過程完成數(shù)據(jù)從ODS層到DW數(shù)據(jù)倉庫層的轉(zhuǎn)移后懈叹,下一步就是要圍繞數(shù)據(jù)倉庫的模型做各種應(yīng)用的分析工作了,這時候就需要用到非常強大的BI工具Business Objects了分扎。
在眾多的管理信息系統(tǒng)中一般都應(yīng)用數(shù)據(jù)倉庫技術(shù)澄成,進行數(shù)據(jù)的統(tǒng)計和分析,而數(shù)據(jù)倉庫的建立畏吓、使用墨状、管理及維護等方面都需要工具的支持。有些管理信息系統(tǒng)的業(yè)務(wù)處理數(shù)據(jù)庫同數(shù)據(jù)倉庫系統(tǒng)一起推廣使用庵佣,因此大大減少了從業(yè)務(wù)數(shù)據(jù)庫到數(shù)據(jù)倉庫的數(shù)據(jù)抽取歉胶、集成和轉(zhuǎn)換的復雜程度,但無論數(shù)據(jù)倉庫中數(shù)據(jù)的來源和抽取方式是什么巴粪,對數(shù)據(jù)倉庫的維護通今、管理粥谬、分析、統(tǒng)計都需要用客戶端報表/分析工具來完成辫塌。在眾多的聯(lián)機分析處理產(chǎn)品中漏策,BO公司的Business Object不失為一個好工具。
Business Object具有以下幾個特點:前端分析手段靈活臼氨,表現(xiàn)方式多樣掺喻,語義層構(gòu)建工具應(yīng)用面廣,應(yīng)用簡單储矩,具有文檔管理的數(shù)據(jù)刷新功能感耙,可以利用資料庫對不同用戶的操作權(quán)限進行管理。Business Object是一個由多個產(chǎn)品組成的產(chǎn)品族持隧,主要包括Business Object,Designer,Document Agent,Supervisor,Business Miner五個產(chǎn)品即硼。這幾個產(chǎn)品功能如下:
(1)Bupervisor:Supervisor是BO自身的安全管理工具。在Spervisor中可以建立和維護資料庫屡拨,在資料庫中可以建立BO的用戶和用戶組只酥,通過對不同用戶賦予不同的操作權(quán)限,來實現(xiàn)對Business Object的使用用戶呀狼、定制查詢(universe)以及查詢報告的安全管理裂允。實際上多個用戶定制查詢及查詢結(jié)果的共享時通過資料庫實現(xiàn)的。
(2)Designer:Designer是一個多編模型構(gòu)建工具哥艇,它可以將關(guān)系庫中的表通過類绝编、對象及對象明細等工具映射到多維模型的維、維元素及度量指標上她奥,使用戶在符合業(yè)務(wù)邏輯的多維模型上構(gòu)建查詢瓮增。
(3)Business Object:Business Object是一個查詢定制和統(tǒng)計報表(圖形)生成工具。它利用Designer建立多維模型定制各類查詢哩俭,查詢方式包括Business Object定制查詢語義層(universe)绷跑、手寫SQL語句、存儲過程及個人數(shù)據(jù)文件等凡资,在Business Object 4 1版中還將支持OLAP Pannel砸捏,從而使其可以利用其他廠商的OLAP服務(wù)器的功能。Business Object將查詢結(jié)果以多種報表形式及統(tǒng)計圖形的方式提交給用戶隙赁。用戶可以在查詢結(jié)果上進行進一步的分析垦藏,如向下/向上鉆取(Drill Up/Drill Down)等。另外伞访,在Business Object中還提供了一種script語言掂骏,?該語言風格類似Visual Basic,在程序中可以以面向?qū)ο蟮木幊田L格調(diào)用Business Object提供的豐富類庫厚掷。得script語言可以定制出更為友好的查詢界面弟灼。
(4)Document Agent:Document Agent是專為工作組用戶的文檔管理及查詢結(jié)果刷新而建立的级解。一組用戶對應(yīng)一個Document Agent,不同用戶的查詢報表(圖形)均可發(fā)送到Document Agent供同組的其他用戶共享田绑。Document Agent還可以定義統(tǒng)計報表(圖形)的刷新頻度勤哗。
在管理機構(gòu)由于用戶的不同使應(yīng)用角色與工具也不盡相同:(1)報表設(shè)計人員:負責制作固定報表以外的靈活報表,使用工具為BO掩驱;負責根據(jù)業(yè)務(wù)需求定制新的固定報表芒划,使用工具為BO Designer;承擔前臺報表的分發(fā)、管理及刷新欧穴,使用工具為BO Document Agent民逼。
(2)普通報表用戶和高級報表用戶:L瀏覽固定報表,使用工具為BO Reader;瀏覽報表設(shè)計人員設(shè)計的靈活報表苔可,使用工作為BO Reader缴挖。
(3)數(shù)據(jù)倉庫管理員:完成數(shù)據(jù)庫管理員(DBA)的正常工作;負責數(shù)據(jù)倉庫數(shù)據(jù)的刷新維護焚辅、用戶管理等工作,使用工具主要是數(shù)據(jù)庫的管理工具以及BO Supervisor苟鸯。

通過BO Designer同蜻,完成表之間的語義關(guān)系的設(shè)計以及相關(guān)度量、維度的設(shè)計早处,為報表設(shè)計奠定基礎(chǔ)湾蔓。


通過BO控制臺,啟動InfowView砌梆,對報表進行相關(guān)的設(shè)計工作默责。



完成以上工作后,報表的前端展示其實是比較方便的咸包,可以通過調(diào)用BO的報表生成頁面就可以了,給報表生成頁面附帶相關(guān)的參數(shù)即可烂瘫,具體的例子可以參考BO自帶的很多相關(guān)Demo,在此不再贅述芦鳍。


上述的內(nèi)容只是我對數(shù)據(jù)倉庫應(yīng)用的初步了解和認識,紕漏之處難免葛账,隨著學習的進行柠衅,認識的深入籍琳,應(yīng)用的開展贷祈,項目經(jīng)驗的增加,希望更多東西能夠明朗化裙顽,深入化付燥,堅固化。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末愈犹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子勋颖,更是在濱河造成了極大的恐慌,老刑警劉巖饭玲,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叁执,死亡現(xiàn)場離奇詭異,居然都是意外死亡谈宛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門窑滞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恢筝,“玉大人,你說我怎么就攤上這事撬槽。” “怎么了带斑?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵勋拟,是天一觀的道長。 經(jīng)常有香客問我挂滓,道長啸胧,這世上最難降的妖魔是什么幔虏? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任贝椿,我火速辦了婚禮,結(jié)果婚禮上烙博,老公的妹妹穿的比我還像新娘。我一直安慰自己铺根,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布位迂。 她就那樣靜靜地躺著详瑞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坝橡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音氯窍,去河邊找鬼饲常。 笑死狼讨,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的播聪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼离陶,長吁一口氣:“原來是場噩夢啊……” “哼衅檀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起沉眶,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎柳击,沒想到半個月后片习,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡毯侦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年侈离,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卦碾。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡洲胖,死狀恐怖济榨,靈堂內(nèi)的尸體忽然破棺而出绿映,到底是詐尸還是另有隱情,我是刑警寧澤丐一,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布淹冰,位于F島的核電站,受9級特大地震影響樱拴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜珍坊,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一瘪弓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦川无、人聲如沸虑乖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至诫咱,卻和暖如春洪灯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背签钩。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留憎夷,地道東北人昧旨。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像鸣戴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容