傳統(tǒng)行業(yè)如何建立數(shù)據(jù)倉庫?

商業(yè)智能研究
建立數(shù)據(jù)倉庫是一個解決企業(yè)數(shù)據(jù)問題應用的過程,是企業(yè)信息化發(fā)展到一定階段必不可少的一步,也是發(fā)展數(shù)據(jù)化管理的重要基礎。數(shù)倉的知識市面上的書籍和文章不少,但是實際實施依據(jù)行業(yè)不同,企業(yè)核心訴求不同,從技術到方法論各有不同。

建立數(shù)據(jù)倉庫是一個解決企業(yè)數(shù)據(jù)問題應用的過程,是企業(yè)信息化發(fā)展到一定階段必不可少的一步,也是發(fā)展數(shù)據(jù)化管理的重要基礎。數(shù)倉的知識市面上的書籍和文章不少,但是實際實施依據(jù)行業(yè)不同,企業(yè)核心訴求不同,從技術到方法論各有不同。

如何實施數(shù)倉項目,本文先以傳統(tǒng)行業(yè)的數(shù)倉切入,從整體上講下數(shù)據(jù)倉庫的實施方法論!

數(shù)據(jù)倉庫的通用實施步驟

一、需求分析

需求分析是數(shù)據(jù)倉庫項目最重要的一個環(huán)節(jié),數(shù)倉說到底還是服務于業(yè)務,支撐于業(yè)務,如果需求分析不準確,做了沒人用,上了不好用,會直接影響業(yè)務/客戶的使用,最終導致項目的失敗。為了避免最壞的情況,磨刀不誤砍柴工,前期一定要重視需求的調(diào)研、挖掘和分析,并采用一些嚴謹科學的措施和方法去做需求分析。

在實際調(diào)研過程中分享幾個經(jīng)驗:

1、盡可能與業(yè)務方/客戶方一起分析需求,引導對方將項目所要實現(xiàn)的整體框架和業(yè)務細節(jié)部分述清楚,最好的方式就是需求人員和設計人員基于原型來討論,從而正確理解實際的業(yè)務需求。

2、必須實事求是地將數(shù)據(jù)倉庫所能實現(xiàn)的目標和不容易解決的問題與協(xié)商清楚。這一個環(huán)節(jié)趟過不少坑,IT方急著上線,業(yè)務方對于項目還處于一知半解,甚至在推動的時候可能避重就輕,比如一期不滿足的需求強行上,長遠來看項目會產(chǎn)生不少推諉和扯皮,消磨的是對方的信任。

所以在需求討論的基礎上,需要理解業(yè)務工作流程,當然如果你已經(jīng)具備了這個行業(yè)豐富的業(yè)務知識,那可以在需求調(diào)研的時候盡可能地讓對方按照自己的思路去完成數(shù)據(jù)倉庫系統(tǒng)的功能設計。

3、需求方群體的分類,BI項目最終的使用對象可以分為以下幾類:數(shù)據(jù)查詢者、報表查詢者、企業(yè)決策者。

這三類人群的需求特點完全不一樣,溝通的時候需要注意區(qū)分并深刻理解

4、需求調(diào)研的再完美,也避免不了需求變更?,F(xiàn)實是很多情況下需求是不確定的,業(yè)務方是提不出有價值的需求的,需求今天是A明天又變成B無法一步做到位的,這都很正常,作為項目實施者要做好心理預期。

一般情況下,業(yè)務方能夠提供的都是需求的整體框架部分或者是實際需求的一部分內(nèi)容,不能預見未來需要增加的需求,這也注定了數(shù)倉項目是一個不斷循環(huán)、反饋,使系統(tǒng)不斷完善增長的過程。

不能規(guī)避風險但是可以減少風險,所以科學的調(diào)研尤為重要。以下是調(diào)研模板,當需求調(diào)研完成時,需要對采集結(jié)果進行分析、歸納、整理,最終形成完整的需求分析報告。

摘于《數(shù)據(jù)化建設知識圖譜》

業(yè)務需求的實施目的就是真正理解企業(yè)決策者的戰(zhàn)略性目標。在理解建立商業(yè)智能系統(tǒng)目標的基礎上,建立有效的企業(yè)管理模式,制定出詳細的企業(yè)數(shù)據(jù)倉庫業(yè)務管理規(guī)范,設計出常用的ETL數(shù)據(jù)采集規(guī)范和工作流程,從而明確商業(yè)智能系統(tǒng)的實施范圍和目標。為了提高企業(yè)的分析決策能力,可以利用當下的局域網(wǎng)技術和互聯(lián)網(wǎng)技術實現(xiàn)企業(yè)對各種信息的查詢和分析,通過建立企業(yè)業(yè)務數(shù)據(jù)模型,分析商業(yè)智能系統(tǒng)的系統(tǒng)架構、數(shù)據(jù)源之間的差異、對數(shù)據(jù)質(zhì)量的評估和各種信息的處理方法,有效地提高企業(yè)商業(yè)智能系統(tǒng)的分析和決策能力。

二、數(shù)據(jù)倉庫的邏輯分析

數(shù)據(jù)倉庫在邏輯上可以分成操作型數(shù)據(jù)庫、數(shù)據(jù)倉庫層、數(shù)據(jù)集市層、數(shù)據(jù)分析應用層和報表展示層,其架構如下圖所示:

三、設計ODS系統(tǒng)

ODS 可以有兩種形式:ODS 數(shù)據(jù)緩沖區(qū)和ODS統(tǒng)一信息視圖區(qū)。

① ODS數(shù)據(jù)緩沖區(qū)

ODS數(shù)據(jù)緩沖區(qū)是業(yè)務數(shù)據(jù)流動過程的第一個存儲區(qū),實現(xiàn)了數(shù)據(jù)倉庫從各個業(yè)務系統(tǒng)的數(shù)據(jù)源中將數(shù)據(jù)抽取出來,并且裝載到ODS數(shù)據(jù)緩沖區(qū)的這一過程,從而實現(xiàn)統(tǒng)一的全局的企業(yè)數(shù)據(jù)平臺,為以后的數(shù)據(jù)抽取、清洗、轉(zhuǎn)換過程打下堅實的基礎。對于數(shù)據(jù)的數(shù)據(jù)源可以采用增量的方式進行抽取,對于經(jīng)常變化更新的數(shù)據(jù)一般采用全量的方式進抽取。ODS數(shù)據(jù)緩沖區(qū)具有實時性的特征,ODS系統(tǒng)將各個孤立的業(yè)務系統(tǒng)的生產(chǎn)運營數(shù)據(jù)集成起來,組成統(tǒng)一的、全局的企業(yè)數(shù)據(jù)交換平臺。

② ODS統(tǒng)一信息視圖區(qū)

ODS統(tǒng)一信息視圖區(qū)是指有選擇地集成各類業(yè)務源數(shù)據(jù),對數(shù)據(jù)進行抽取、清洗、轉(zhuǎn)換操作,以數(shù)據(jù)主題域為數(shù)據(jù)集成的基礎,對數(shù)據(jù)進行分類和組織,使用戶能夠通過統(tǒng)一信心視圖區(qū)獲得跟某個主題域相關的實時性數(shù)據(jù)。各業(yè)務系統(tǒng)和ODS統(tǒng)一信息視圖區(qū)可以互相訪問,可以生成具有實時性的操作性報表和查詢某一主題的近期全部信息。

③ ODS數(shù)據(jù)緩沖區(qū)和ODS統(tǒng)一信息視圖區(qū)的區(qū)別和共同點

ODS 數(shù)據(jù)緩沖區(qū)主要為業(yè)務源數(shù)據(jù)抽取到數(shù)據(jù)倉庫中提供中間數(shù)據(jù)緩沖的功能,與ODS 統(tǒng)一信息視圖區(qū)最大的區(qū)別就是數(shù)據(jù)抽取、清洗、轉(zhuǎn)換、加載的轉(zhuǎn)換規(guī)則和數(shù)據(jù)存儲的方式不同。ODS統(tǒng)一信息視圖區(qū)是完全按照主題的方式進行數(shù)據(jù)存儲,向用戶提供快速的報表展示和數(shù)據(jù)實時查詢的功能。而ODS數(shù)據(jù)緩沖區(qū)的ETL規(guī)則一般只進行簡單的匯總、計算,或者從操作型數(shù)據(jù)庫中直接抽取而中間不進行任何轉(zhuǎn)化。ODS 統(tǒng)一信息視圖區(qū)的數(shù)據(jù)一般都是從ODS數(shù)據(jù)緩沖區(qū)中抽取過來的。

四、數(shù)據(jù)倉庫建模

數(shù)據(jù)倉庫建模在前面已經(jīng)有了詳細的介紹,數(shù)據(jù)倉庫模型是IT技術開發(fā)人員、業(yè)務人員、決策管理者相互溝通的一套語言和平臺。對于數(shù)據(jù)建模工程師來說,對業(yè)務的深刻理解是首要任務,因為數(shù)據(jù)倉庫建模分為概念模型設計、邏輯模型設計和物理模型設計3個階段,一般按照自頂向下的順序依次對模型進行設計。

概念模型主要是模型設計人員對業(yè)務規(guī)則的理解,是最高層次的數(shù)據(jù)模型,幾乎涵蓋了業(yè)務所有的核心概念和重要的主題,為以后邏輯模型的建設打下了基礎。

邏輯模型是對概念模型的分解、細化,將數(shù)據(jù)主題劃分成一個個的實體和實體關系,一般將第三范式作為設計的模板。

物理模型在邏輯模型的基礎上對模型實體進行細節(jié)性的描述,包括字段類型、長度、索引等因素,最后轉(zhuǎn)化成數(shù)據(jù)庫存儲的物理表。

摘于《數(shù)據(jù)化建設知識圖譜》

五、數(shù)據(jù)集市建模

一般數(shù)據(jù)集市模型的建設是基于需求分析得到的結(jié)果,數(shù)據(jù)集巾的建模主要針對事實表和維表的設計。例如,部門員工關系表,如果事實表包含部門編碼,則數(shù)據(jù)可以分析到部門。如果事實表又包含員工編碼,則數(shù)據(jù)既可以分析到部門,又可以分析到員工。一張事實表除了包含所要分析的維度編碼外,還包括需要分析的度量值。例如,用戶用電分析事實表,它的主題描述就是按地區(qū)、時間、電壓等級統(tǒng)計用戶的耗電量、應收電費,并進行同期對比;它的維度就是地區(qū)、時間、電壓等級,度量值包括耗電量、應收電費等;指標來源就是數(shù)據(jù)倉庫中的計費結(jié)果表、用戶基本信息表。維表一般采用增量的方式進行抽取。

六、數(shù)據(jù)源分析

所謂數(shù)據(jù)源分析,就是對源數(shù)據(jù)進行分析和總結(jié),得出源數(shù)據(jù)的范圍、格式、更新方式、更新頻率和質(zhì)量好壞的過程。

數(shù)據(jù)源分析是指通過需求調(diào)研得知業(yè)務數(shù)據(jù)源的基本情況,并且加以詳細說明,具體內(nèi)容包括數(shù)據(jù)源中存在哪些物理表,表之間的關系和表中每個字段的數(shù)據(jù)類型和含義等。一般來說,業(yè)務數(shù)據(jù)源通常會有數(shù)據(jù)不完整、口徑不一致,或者各個數(shù)據(jù)源存在業(yè)務規(guī)則不統(tǒng)一的情況。

另外,在分析的過程中,需要確定業(yè)務源數(shù)據(jù)中哪些數(shù)據(jù)需要被抽取。為了確定合適的抽取方式,需要在抽取之前對數(shù)據(jù)源進行分析,分析的范圍一般包括數(shù)據(jù)的格式、數(shù)據(jù)的范圍、更新的方式、數(shù)據(jù)質(zhì)量的好壞。在分析的過程中,應該盡可能獲取分析的結(jié)果,形成數(shù)據(jù)源分析報告,在仔細研究分析報告后,再選擇合適的抽取、加載方式。了解這些數(shù)據(jù)源的特點,有利于ETL 抽取時對數(shù)據(jù)的整合和統(tǒng)一,從而保證數(shù)據(jù)的質(zhì)量和可信度。

七、數(shù)據(jù)的獲取與整合

數(shù)據(jù)的獲取與整合存在于數(shù)據(jù)倉庫項目中的各個階段。數(shù)據(jù)倉庫很重要的一個作用就是將散落在各業(yè)務系統(tǒng)的數(shù)據(jù)整合起來,不規(guī)范的數(shù)據(jù)規(guī)范起來,以一種便于分析和應用的方式放到數(shù)據(jù)倉庫里,供前端應用分析。ETL 過程實際上就是數(shù)據(jù)流動的過程,即從不同的數(shù)據(jù)源流向統(tǒng)一的目標數(shù)據(jù)庫。數(shù)據(jù)的獲取與整合是完成數(shù)據(jù)倉庫建設取復雜的過程,它關系到數(shù)據(jù)的質(zhì)量,是數(shù)據(jù)倉庫項目建設的根基。

八、數(shù)據(jù)應用和報表展現(xiàn)

報表絕對是讓人痛苦的東西。格式復雜、需求多變,業(yè)務沒事就改需求或者增加幾個。雖然說起報表感覺很老土,但確實是整個數(shù)倉項目價值落地呈現(xiàn)的東西。

做報表多的人,基本上都會做一個自己的工具,至少也會做一個引擎,按照自己的理解用一種結(jié)構化加動態(tài)的方式去定義所需要的報表,可以靈活的選擇所需要的數(shù)據(jù),設計展現(xiàn)樣式生成報表。現(xiàn)在一般都是采用專業(yè)的低代碼的報表工具來做報表,比如FineReport去做報表,提升開發(fā)效率,側(cè)重應用分析,畢竟沒有誰想一天到晚被報表纏身。

結(jié)合前面談到的數(shù)據(jù)分層的機制,會發(fā)現(xiàn),不管基于哪一層,都有做報表的需求。個人認為報表的重點不在與報表的制作,而在于如何利用報表為業(yè)務為項目謀價值。

大公司都會有負責報表分析這塊的項目人員,那針對報表延伸出來的工作,報表需求分析、指標體系規(guī)劃、以及各位為經(jīng)營為管理為基層人員的報表分類,還有圍繞業(yè)務的分層設計。

對于基層員工,報表使用的最多的就是錄數(shù)據(jù),查詢數(shù)據(jù)。比如商場售貨員瀏覽數(shù)據(jù)來查看商品的售賣情況,以此來及時補貨,還有每天的日銷售數(shù)據(jù)錄入。

對于部分業(yè)務人員,報表的不再是簡單的展示和錄入,會衍生出一些分析的需求,比如采購經(jīng)理,他需要決定采購哪些品牌的商品,從哪一家供應商來采購,如何規(guī)劃商店的商品。那方法就是看報表看哪些商品買的好,以此來考慮是否需要加購哪些品牌商品,放棄那些品牌商品或者搞促銷。高大上一點的說辭就是利用數(shù)據(jù)優(yōu)化商品結(jié)構,選擇供應商。

對于企業(yè)管理層,更多的說是做dashboard進行指標的監(jiān)控,做的業(yè)績分析(時間、地區(qū)緯度等)。而這一過程,也是通過數(shù)據(jù)使管理層可以更容易的按照標準的管理方法進行決策(如果說員工是判斷,領導就是決策了...)

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論