您好,登錄后才能下訂單哦!
這篇文章主要介紹了數據庫中為什么要對數據倉庫分層,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
為什么要對數據倉庫分層:
a)用空間換時間,通過大量的預處理來提升應用系統的用戶體驗(效率),因此數據倉庫會存在大量冗余的數據;
b)如果不分層的話,如果源業務系統的業務規則發生變化將會影響整個數據清洗過程,工作量巨大
c)通過數據分層管理可以簡化數據清洗的過程,因為把原來一步的工作分到了多個步驟去完成,相當于把一個復雜的工作拆成了多個簡單的工作,把一個大的黑盒變成了一個白盒,每一層的處理邏輯都相對簡單和容易理解,這樣我們比較容易保證每一個步驟的正確性,當數據發生錯誤的時候,往往我們只需要局部調整某個步驟即可。
數據倉庫標準上可以分為四層:ODS(臨時存儲層)、PDW(數據倉庫層)、MID(數據集市層)、APP(應用層)
ODS層:
為臨時存儲層,是接口數據的臨時存儲區域,為后一步的數據處理做準備。一般來說ODS層的數據和源系統的數據是同構的,主要目的是簡化后續數據加工處理的工作。從數據粒度上來說ODS層的數據粒度是最細的。ODS層的表通常包括兩類,一個用于存儲當前需要加載的數據,一個用于存儲處理完后的歷史數據。歷史數據一般保存3-6個月后需要清除,以節省空間。但不同的項目要區別對待,如果源系統的數據量不大,可以保留更長的時間,甚至全量保存;
PDW層:
為數據倉庫層,PDW層的數據應該是一致的、準確的、干凈的數據,即對源系統數據進行了清洗(去除了雜質)后的數據。這一層的數據一般是遵循數據庫第三范式的,其數據粒度通常和ODS的粒度相同。在PDW層會保存BI系統中所有的歷史數據,例如保存10年的數據。
MID層:
為數據集市層,這層數據是面向主題來組織數據的,通常是星形或雪花結構的數據。從數據粒度來說,這層的數據是輕度匯總級的數據,已經不存在明細數據了。從數據的時間跨度來說,通常是PDW層的一部分,主要的目的是為了滿足用戶分析的需求,而從分析的角度來說,用戶通常只需要分析近幾年(如近三年的數據)的即可。從數據的廣度來說,仍然覆蓋了所有業務數據。
APP層:
為應用層,這層數據是完全為了滿足具體的分析需求而構建的數據,也是星形或雪花結構的數據。從數據粒度來說是高度匯總的數據。從數據的廣度來說,則并不一定會覆蓋所有業務數據,而是MID層數據的一個真子集,從某種意義上來說是MID層數據的一個重復。從極端情況來說,可以為每一張報表在APP層構建一個模型來支持,達到以空間換時間的目的數據倉庫的標準分層只是一個建議性質的標準,實際實施時需要根據實際情況確定數據倉庫的分層,不同類型的數據也可能采取不同的分層方法。
---【補充】
數據緩存層:
用于存放接口方提供的原始數據的數據庫層,此層的表結構與源數據保持基本一致,數據存放時間根據數據量大小和項目情況而定,如果數據量較大,可以只存近期數據,將歷史數據進行備份。此層的目的在于數據的中轉和備份。
核心數據層:
此層的數據在數據緩存層的基礎上做了一定程度的整合,稱之為數據集市,存儲上仍是關系模型。此層的目的在于進行必要的數據整合為下一步多維模型做準備。
分析應用層:
此層的數據為根據業務分析需要構造的多維模型數據。數據可以直接用于分析展現。
說明:數據層次的劃分可以根據實際項目需要進行裁剪,如果業務相對簡單和獨立,可以將核心數據層與分析應用層進行合并。另外,分析應用的數據可以來自多維模型的數據,也可以來自關系模型數據甚至原始數據。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“數據庫中為什么要對數據倉庫分層”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。