tft每日頭條

 > 生活

 > 數倉就這麼難嗎

數倉就這麼難嗎

生活 更新时间:2025-04-24 23:31:13

總的來說:數倉分層是為了解耦。

經典的數倉分層:

下面這些層次英文縮寫可能在其他公司叫法不一樣,但是大體上分為以下幾個層次:

數倉就這麼難嗎(數倉為什麼要分層)1

ODS:抽取的原始業務數據,結構一般和原始業務數據庫表結構或者抽取的業務日志數據結構保持一緻。一句話:從業務系統增量抽取,數據不做清洗轉換,與業務系統數據模型保持一緻。

DWS:根據ODS層,增加一些維度信息,過濾一些異常數據。為DW層提供來源明細數據,提供業務系統細節數據的長期沉澱,為未來分析類需求的擴展提供曆史數據支撐。

DW:模型層,根據DWS層數據,按各個業務需求,以某個維度ID進行粗粒度彙總聚合。此層一般會根據數倉涉及的業務發展或者主數據的建立等,抽象出一些公用的聚合彙總模型

APP:應用層/指标層/報表層,每個公司的叫法不一樣,一般指根據特定的某個應用或者報表進行的數據指标開發彙總。

數倉為什麼分層:

數據倉庫分層原因可以概括為以下4個方面:

數倉就這麼難嗎(數倉為什麼要分層)2

  1. 用空間換時間:數倉的發展已經幾十年了,在大數據技術出現之前,我們一般采用Oracle等一些關系型數據庫來做數倉,但随着數據量的發展,特别是電信和銀行業務的快速發展,在進行一個數倉應用開發過程中,我們需要分很多步驟來進行,所以會考慮用空間來換時間,包括現在市面上也會有一些用空間換時間這樣的OLAP産品。
  2. 減少重複開發:可以把一些指标用到的彙總數據進行抽象,建立一個或者多個模型,這些模型可以支撐我們建立多個數倉報表,這一步需要對業務非常了解,不然就會出現上面問題說的“ 還會經常有多層數據重複?”
  3. 複雜的問題簡單化:做過傳統數倉的都知道,以前Oracle的存儲過程會寫幾千行,所以現在我們一般很少寫幾千行的業務ETL邏輯了,而是分為多個ETL過程,從明細層到應用層進行邏輯拆解,中間也會進行一些邏輯合并,形成模型層。
  4. 數據安全:通過分層,可以更方便地對不同層,不同的數據模型進行權限管理,特定業務場景下,對不同的開發人員和業務人員屏蔽一些敏感的數據。
,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved