- 產品
- 產品解決方案
- 行業解決方案
- 案例
- 數據資產入表
- 賦能中心
- 伙伴
- 關于
時間:2022-06-20來源:admin瀏覽數:328次
維度是我們看世界的角度,度量則是形容指標的水平,他們都是指標的重要組成。
如何設計一套切實可行的數據倉庫呢? 我們要明白,對于數據倉庫的設計是不能完全依賴于業務的需求,但往往又必須要服務于業務的價值。因此,在構建數據倉庫前,我們往往會通過總線矩陣設計,來快速理解業務并規劃數據倉庫體系。以求從宏觀的角度來描述企業的業務和數據現狀,并指導后續的數據倉庫建模。不妨先來看看,祖師爺 Kimball 在書中對總線矩陣的定義:總線矩陣:提供一種分解企業DW/BI規劃任務的合理方式,行是業務過程,列是公共維度(一致性維度),圖表中的 X 表示的是哪些列與哪些行有關系,也表示這一個業務過程需要有哪些公共維度。
所以,總線矩陣和一致性維度、一致性事實共同組成了 Kimball 的多維體系結構基礎。在這種多維體系結構(MD) 的數據倉庫架構中,主導的思想便是分步建立數據倉庫,并由數據集市組合成企業的數據倉庫。但是,在建立第一個數據集市前,架構師首先要做的就是設計出在整個企業內具有統一解釋的標準化的維度和事實,即一致性維度和一致性事實,而開發團隊必須嚴格的按照這個體系結構來進行數據集市的迭代開發。如果我們在建立數據倉庫之初,只考慮單獨的某個業務系統的數據建設,不僅無法滿足一致性目標的。還會使相互有聯系的系統數據由于維度不同導致關聯復雜或者關聯不上,數據之間互相成為了孤島,這對于后期的擴展或者整個數倉的建設都是巨大的阻礙。一致性維度就好比企業范圍內的一組總線,不同數據集市的事實的就好比插在這組總線上的元件。這也是稱之為總線架構的原因。因此實際設計過程中,我們通常把總線架構列表成矩陣的形式,其中列為一致性維度,行為不同的業務處理過程,即事實,在交叉點上打上標記表示該業務處理過程與該維度相關,這個矩陣也稱為總線矩陣(Bus Matrix)。了解總線矩陣設計的必要性,它的作用就很容易理解了。簡單來講無非是以下三點:
幫助數據架構師清晰地梳理整個數據體系
幫助決策者(Boss)從宏觀的角度了解數據倉庫的整體情況
讓所有的數據倉庫參與者了解數據倉庫的設計
如何編寫總線矩陣? 首先,總線矩陣不是代碼,也不是純文檔性質。在構建總線矩陣對過程中,也需要完成許多代碼開發前期的準備工作。首先完成橫向,即 數據域劃分,業務過程的確立。數據域是一種對數據的抽象,通過將聯系較為緊密的數據劃分在同一數據主題中,方便尋找和使用數據。比如,制造業中,我們可以將數倉劃分為:生產、財務、人力、供應鏈、交付等數據域,每個域下包含不同的業務過程。如生產域下包括生產計劃、實際生產、設備停機等業務。通常是先確定業務過程有哪些,再按照某個規則將相關的業務劃分為同一數據域中,常用的規則有:按業務相關性、按需求方、按應用劃分等。也可以將數據域劃分為多級主題,比如先按照部門劃分一級主題,再按業務劃分二級主題。數據域的劃分沒有對錯,根據實際情況進行劃分,讓數據歸納更清晰,更好找易用就是好的數據域劃分。劃分數據域時,可參考這些規則:數量不能太多,建議不超過10個;不同主題間無重疊業務過程;具有一定前瞻性,既能涵蓋當前所有的業務需求,又能在新業務進入時無影響地被包含進已有的數據域中或擴展新的數據域。其次完成縱向列,即公共一致性維度的劃分以及度量值的確定。維度是我們看世界的角度,度量則是形容指標的水平,他們都是指標的重要組成。比如有個指標:“四月交付2000輛車”,“四月”和“車”是維度,“2000”是度量值,“輛”則是度量單位,維度和度量組合在一起形成月度指標。如果沒有維度,“交付2000輛”則啥也代表不了。維度的劃分具有行業共同性,比如電商行業通常涉及這些維度:買家、賣家、訂單、廣告、貨運、支付等,制造業中:設備、產線、項目、物料、車型等,還有一些跨行業通用的維度,如城市、日期等。維度的一致性是數據一致性的重中之重,總線矩陣是一致性維度建設的重要文件。從討論總線矩陣的那刻開始,數倉數據一致性問題就解決了一半。總線矩陣中的度量通常是原子指標,指業務過程中最基本的原子指標。比如生成計劃業務過程中,度量是“件數”,設備停機事件中,度量為“停機時長”。總線矩陣中描述的度量,能夠給分析人員直觀的了解目前數據具備的分析能力。最后是確定業務過程同維度間的關聯關系。應該分析每個業務過程,盡可能多的關聯維度與業務過程,而不僅僅是當前分析需要哪些維度,否則就陷入了面向需求開發的陷阱。業務矩陣編寫完成后,應組織多方參與評審,包括業務方、分析人員、架構師、產品經理等,以確定業務矩陣的最終版本。優點 總線矩陣是數倉建設的綱領性文件,不論是從零開始一個項目,還是中途接手一個項目,總線矩陣總是最好的切入點。總線矩陣有利于主數據管理。核心維度由數據管理責任人定義,在多個業務過程中使用,而不是被單一業務過程或部門定義,提供一致性維度,實現跨業務過程鉆取的需求。總線矩陣列表示整個企業的公共維度,有助于創建核心維度列表,解決主數據管理和數據集成的需求。總線矩陣有利于項目規劃和排期。總線矩陣將業務過程按主題劃分,每個主題下包含多個業務過程,各個主題中業務過程互不重疊。不同開發小組遵循該架構進行異步獨立開發,每個小組承擔不同數據域或同一數據域下不同業務過程,也可以進行一致性維度開發,從而實現增量式的開發。不同小組間分工更加清晰,每個人對自己在組織中承擔的任務也更明確。總線矩陣是數據一致性的重要保障。總線矩陣提倡從初期規劃一致性維度,各業務過程共享一致性維度。通過一致性維度,確保維度的有序建設,減少冗余的出現。總線矩陣提供一目了然的維度能力觀察,讓后面開發的同學了解現有數倉數據,減少煙囪式建設的可能性。總線矩陣可以避免面向需求開發。總線矩陣要求我們基于業務過程建設數倉,要求我們從全面的角度考慮維度建設。避免了拿到需求后盲目建設的情況,也避免后期不停維護擴展。總線矩陣是數倉建設過程中各種角色間的溝通橋梁。架構師通過總線矩陣描述項目概況,進行任務分工;建模人員通過總線矩陣了解項目中一致性維度與業務過程關系,開展建模工作;項目經理通過總線矩陣,了解項目規模,進行排期安排,進度跟進;BI同學通過總線矩陣,了解數倉包含的業務過程與支持鉆取的維度。通過總線矩陣,簡化不同角色人員間溝通,更好的實現不同組織的工作配合。基于上述優點,我認為總線矩陣是數倉建設中最重要的文檔,應當由架構師在項目初期負責建設,并且長期維護和全局共享。?