(轉)數據倉庫分層規則

0x01 如何分層

  1. 結合Inmon和Kimball的集線器式和總線式的數據倉庫的優點,分層爲ODS【-MID】-DW-DM-OLAP/OLAM/app
    ODS層是將OLTP數據通過ETL同步到數據倉庫來作爲數據倉庫最基礎的數據來源。在這個過程中,數據經過了一定的清洗,比如字段的統一,髒數據的去除等,但是數據的粒度是不會變化的。ODS層的數據可以只保留一定的時間。
  2. MID中間層是採用Inmon集線器架構的方式,使用範式建模(貼源)的方法。這一層主要是做規範化的事情,比如應用庫表非規範化,字段格式複雜(json格式)需做一些處理。這一層不是必須有的。也不會對外開放使用。範式建模保證了數據一致性、唯一性、正確性。
  3. DW-DM層是採用Kimball的總線式的數據倉庫架構,針對部門(比如財務部門)或者某一主題(比如商戶、用戶),通過維度建模(推薦星型模型),構建一致性維度,原子粒度的數據是DW層,按照實體或者主題經過一定的彙總,建設數據集市模型。數據集市可以爲OLAP提供服務。

0x02 爲什麼要分層

  1. 空間換時間。通過建設多層次的數據模型供用戶使用,避免用戶直接使用操作型數據,可以更高效的訪問數據。
  2. 把複雜問題簡單化。講一個複雜的任務分解成多個步驟來完成,每一層只處理單一的步驟,比較簡單和容易理解。而且便於維護數據的準確性,當數據出現問題之後,可以不用修復所有的數據,只需要從有問題的步驟開始修復。
  3. 便於處理業務的變化。隨着業務的變化,只需要調整底層的數據,對應用層對業務的調整零感知.

0x03 分層的價值

  1. 高效的數據組織形式【易維護】
    面向主題的特性決定了數據倉庫擁有業務數據庫所無法擁有的高效的數據組織形式,更加完整的數據體系,清晰的數據分類和分層機制。因爲所有數據在進入數據倉庫之前都經過清洗和過濾,使原始數據不再雜亂無章,基於優化查詢的組織形式,有效提高數據獲取、統計和分析的效率。
  2. 時間價值【高性能】
    數據倉庫的構建將大大縮短獲取信息的時間,數據倉庫作爲數據的集合,所有的信息都可以從數據倉庫直接獲取,數據倉庫的最大優勢在於一旦底層從各類數據源到數據倉庫的ETL流程構建成型,那麼每天就會有來自各方面的信息通過自動任務調度的形式流入數據倉庫,從而使一切基於這些底層信息的數據獲取的效率達到迅速提升。
    從應用來看,使用數據倉庫可以大大提高數據的查詢效率,尤其對於海量數據的關聯查詢和複雜查詢,所以數據倉庫有利於實現複雜的統計需求,提高數據統計的效率。
  3. 集成價值【簡單化】
    數據倉庫是所有數據的集合,包括日誌信息、數據庫數據、文本數據、外部數據等都集成在數據倉庫中,對於應用來說,實現各種不同數據的關聯並使多維分析更加方便,爲從多角度多層次地數據分析和決策制定提供的可能。
  4. 歷史數據【歷史性】
    記錄歷史是數據倉庫的特性之一,數據倉庫能夠還原歷史時間點上的產品狀態、用戶狀態、用戶行爲等,以便於能更好的回溯歷史,分析歷史,跟蹤用戶的歷史行爲,更好地比較歷史和總結歷史,同時根據歷史預測未來。
    End

原文轉載自:https://www.cnblogs.com/benchen/p/6010265.html
作者詳見源鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章