1. 程式人生 > >資料倉庫為什麼要分層

資料倉庫為什麼要分層

  1. 如何分層
    • 結合Inmon和Kimball的集線器式和匯流排式的資料倉庫的優點,分層為ODS【-MID】-DW-DM-OLAP/OLAM/app
    • ODS層是將OLTP資料通過ETL同步到資料倉庫來作為資料倉庫最基礎的資料來源。在這個過程中,資料經過了一定的清洗,比如欄位的統一,髒資料的去除等,但是資料的粒度是不會變化的。ODS層的資料可以只保留一定的時間。
    • MID中間層是採用Inmon集線器架構的方式,使用正規化建模(貼源)的方法。這一層主要是做規範化的事情,比如應用庫表非規範化,欄位格式複雜(json格式)需做一些處理。這一層不是必須有的。也不會對外開放使用。正規化建模保證了資料一致性、唯一性、正確性。
    • DW-DM層是採用Kimball的匯流排式的資料倉庫架構,針對部門(比如財務部門)或者某一主題(比如商戶、使用者),通過維度建模(推薦星型模型),構建一致性維度,原子粒度的資料是DW層,按照實體或者主題經過一定的彙總,建設資料集市模型。資料集市可以為OLAP提供服務。
  2. 為什麼要分層
    • 空間換時間。通過建設多層次的資料模型供使用者使用,避免使用者直接使用操作型資料,可以更高效的訪問資料。
    • 把複雜問題簡單化。講一個複雜的任務分解成多個步驟來完成,每一層只處理單一的步驟,比較簡單和容易理解。而且便於維護資料的準確性,當資料出現問題之後,可以不用修復所有的資料,只需要從有問題的步驟開始修復。
    • 便於處理業務的變化。隨著業務的變化,只需要調整底層的資料,對應用層對業務的調整零感知.
  3. 分層的價值
    • 高效的資料組織形式【易維護
      面向主題的特性決定了資料倉庫擁有業務資料庫所無法擁有的高效的資料組織形式,更加完整的資料體系,清晰的資料分類和分層機制。因為所有資料在進入資料倉庫之前都經過清洗和過濾,使原始資料不再雜亂無章,基於優化查詢的組織形式,有效提高資料獲取、統計和分析的效率。
    • 時間價值【高效能】
      資料倉庫的構建將大大縮短獲取資訊的時間,資料倉庫作為資料的集合,所有的資訊都可以從資料倉庫直接獲取,資料倉庫的最大優勢在於一旦底層從各類資料來源到資料倉庫的ETL流程構建成型,那麼每天就會有來自各方面的資訊通過自動任務排程的形式流入資料倉庫,從而使一切基於這些底層資訊的資料獲取的效率達到迅速提升。
      從應用來看,使用資料倉庫可以大大提高資料的查詢效率,尤其對於海量資料的關聯查詢和複雜查詢,所以資料倉庫有利於實現複雜的統計需求,提高資料統計的效率。
    • 整合價值【簡單化】
      資料倉庫是所有資料的集合,包括日誌資訊、資料庫資料、文字資料、外部資料等都整合在資料倉庫中,對於應用來說,實現各種不同資料的關聯並使多維分析更加方便,為從多角度多層次地資料分析和決策制定提供的可能。
    • 歷史資料【歷史性】
      記錄歷史是資料倉庫的特性之一,資料倉庫能夠還原歷史時間點上的產品狀態、使用者狀態、使用者行為等,以便於能更好的回溯歷史,分析歷史,跟蹤使用者的歷史行為,更好地比較歷史和總結歷史,同時根據歷史預測未來。