數據倉庫系列之總線架構


      總線架構是數據倉庫建設的總體規划,從整體視角描述了解決方案的維度模型,描述了各個子系統的功能以及關系,描述數據從源系統到決策系統的數據流程,提供建立企業數據倉庫系統的增量式方法。業務需求回答了要做什么,總線架構就是回答怎么做的問題。

一、整體解決方案架構:

      數據倉庫的核心功能從源系統抽取數據,通過清洗、轉換、標准化,將數據加載到BI平台,進而滿足業務用戶的數據分析和決策支持。數據倉庫整體解決方案架構包含三個部分:源數據、 數據倉庫、數據應用。

 

 

 

二、數據倉庫分層架構:

  數據倉庫的數據來源於不同的源數據,並提供多樣的數據應用,數據自下而上流入數據倉庫后向上層開放應用,而數據倉庫可以是數據中心管控平台。

 

   源數據層(ODS):此層數據無任何更改,直接沿用外圍系統數據結構和數據,不對外開放;為臨時存儲層,是接口數據的臨時存儲區域,為后一步的數據處理做准備,一般只會進行數據篩選和異常處理。

  數據轉換層(DSA):數據加工區域,主要涉及數據的轉換數據,清洗數據,過濾數據等操作。

  數據倉庫層(EDW):DW 層的數據應該是一致的、准確的、干凈的數據,即對源系統數據進行了清洗(去除了雜質)后的數據。

  數據應用層(DA 或 APP):前端應用直接讀取的數據倉庫;根據報表、專題分析需求而計算生成的數據,數據倉庫是數據處理的后台,業務用戶並不關心后台怎么處理。數據應用是數據呈現的前台,是業務用戶進行查詢的入口。BI應用程序的體驗也是衡量數據倉庫是否成功的主要因素。好的數據倉庫搭建平台可以通過數據倉庫將數據發送到前端進行分析數據。

​    數據倉庫從各數據源獲取數據及在數據倉庫內的數據轉換和流動都可以認為是 ETL的過程,ETL 是數據倉庫的流水線,也可以認為是數據倉庫的血液,它維系着數據倉庫中數據的新陳代謝,而數據倉庫日常的管理和維護工作的大部分精力就是保持 ETL 的正常和穩定。

三、為什么要對數據倉庫架構進行分層?

  數據倉庫的分層是在利用空間換時間,通過大量的預處理來提升應用系統的用戶體驗(效率),因此數據倉庫會存在大量冗余的數據;不分層的話,如果源業務系統的業務規則發生變化將會影響整個數據清洗過程,工作量巨大。通過數據分層管理可以簡化數據清洗的過程,因為把原來一步的工作分到了多個步驟去完成,相當於把一個復雜的工作拆成了多個簡單的工作,將數據倉庫分層后更加方便處理每一層,這樣每一層的處理邏輯都相對簡單和容易理解,我們也比較容易保證每一個步驟的正確性,當數據發生錯誤的時候,往往我們只需要局部調整某個步驟即可。當然分層也要適當,如果項目較小完全可以直接使用兩層架構來完成工作就沒有必要搭建三層架構。

四、架構的特點:

  1、易用性,數據倉庫的目的是決策支持系統(Decision Support System ,簡稱DSS),既然面向的的是分析用戶,那么數據越容易理解,越能受用戶歡迎,而維度建模包含具有描述特性的維度表可以讓用戶很容易理解數據,而不像范式建模,由於太過規范化而導致用戶對數據的理解有一定的難度,需要對業務的很深很細的了解。

  2、性能高,通過數據的處理,排序和整合,構建出來的維度表,不僅能夠讓用戶很方便的理解數據,使用數據,而且在計算所需要的數據的時候,不需要關聯太多的表,從而使得計算的性能很高。

  3、擴展性,具有非常好的可擴展性,以便容納不可預知的新數據源和新的設計決策。可以很方便在不改變模型粒度情況下,增加新的分析維度和事實,不需要重載數據,也不需要為了適應新的改變而重新編碼。

五、總結

 

       通過使用維度建模,用戶可以得到很好的效果,只有用戶滿意了,數據倉庫才能實現更大的價值。可以說維度建模的核心是星型模型,星型模型所擁有的特點正是用戶方便使用的根源。維度模型也有缺點,比如數據一致性很難保證,數據冗余,維度信息處理等,但這些相對於它的優點來講都是可接受的,而且也可以通過其他方式避免和簡化的。如果以維表為總線,事實表以維表為基礎的總線矩陣,建設出來的架構正是總線式架構。

       本文中如有錯誤或誤導的地方歡迎大家指出糾正。 希望這篇文章能夠給大家帶來幫助,最后感謝大家的閱讀。歡迎大家一起加入高效數據處理ETL交流群,一起討論數據分析ETL過程的問題,一起學習一起成長。下一篇我們開始來了解元數據管理。

 掃碼加群:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM