資料倉儲為什麼要進行分層建設?怎麼分?
隨著資訊科技的迅猛發展,企業資料量呈爆炸式增長,如何高效管理和利用這些資料成為企業決策支援的關鍵。資料倉儲作為企業資料儲存、處理和分析的核心平臺,其重要性日益凸顯。而資料倉儲的分層建設,則是提升資料倉儲效能、最佳化資料處理流程的重要保障。
一、資料倉儲分層的意義
1.資料解耦與模組化:透過分層,可以將複雜的資料處理流程解耦為多個獨立的部分,每一層處理特定的資料任務。這使得資料處理更加模組化,便於開發、維護和功能更迭。同時,分層架構使得資料血緣關係更加清晰,便於問題定位和避免重複計算。
2.提升資料處理效率:資料倉儲通常包含多個來源的資料,且需要經過多個處理階段,如資料抽取、資料清洗、資料轉換和資料載入等。將資料按照層次結構組織,可以提高處理效率,減少資料重複處理和多次掃描的問題。透過預計算、維度退化、資料聚合等手段,將資料按照預期的功能進行冗餘儲存,實現以空間換時間的目的,從而滿足不同使用場景和資料粒度的需求。
3.增強資料可擴充套件性:當源業務系統的業務規則發生變化時,只需調整相應層次的資料處理邏輯,而無需對整個資料倉儲進行重構。這有助於降低維護成本,提高資料倉儲的可擴充套件性。
4.便於資料管理和維護:分層建設使得資料倉儲中的資料更加有序,便於進行資料備份、資料恢復和資料歸檔等管理操作。同時,不同層次的資料可以採用不同的安全措施,提高資料的安全性。
5.最佳化查詢效能:資料倉儲中的資料通常需要進行復雜的分析和查詢。將資料按照層次結構組織可以最佳化查詢路徑,減少資料掃描和查詢時間,提高查詢效能。
二、常見數倉分層方式
1.運算元據儲存層(ODS):儲存源系統中的資料,主要用於資料採集、清洗和轉換等處理,保持資料原貌。
2.維度資料儲存層(DIM):儲存資料倉儲中的維度資訊,如客戶維度、時間維度等。通常採用維度建模方式,如星型模型或雪花模型。
3.資料倉儲儲存層(DWD/DW):儲存資料倉儲中的事實表,是資料倉儲的核心儲存層。可以根據業務需求進一步細分為明細層、輕度彙總層等。
4.中間結果資料儲存層(IDS/TMP):儲存ETL過程中的中間結果,如資料清洗、資料轉換和資料計算等臨時資料。
5.資料集市儲存層(DM/ADS):儲存面向特定業務領域的資料集市或應用層資料,主要用於資料分析和報表展示等。
三、一些資料倉儲分層建設案例
阿里巴巴:阿里巴巴的資料倉儲分層架構包括ODS、DIM、DWD、DWS、ADS等層次。其中,ODS層負責資料接入;DIM層儲存維度資料;DWD層儲存明細資料;DWS層儲存輕度彙總資料;ADS層則面向應用,儲存資料集市或應用層資料。這種分層架構有助於實現資料的解耦和模組化處理,提高資料處理效率。
騰訊:騰訊的資料倉儲分層架構也採用了類似的方式,包括原始資料層、維度層、事實層、彙總層和應用層等。每層都有其特定的資料處理任務和功能,確保資料的高效處理和準確輸出。
京東:京東的資料倉儲分層架構則更加註重業務需求和資料處理效率。他們將資料倉儲分為資料來源層、儲存層、計算層和服務層等四個層次。其中,儲存層進一步細分為基礎資料層、整合資料層和彙總資料層,以滿足不同粒度和業務需求的資料處理要求。這種分層架構有助於提高資料處理效率,同時降低維護成本。
來自 “ 資料乾飯人 ”, 原文作者:千冰儀;原文連結:https://mp.weixin.qq.com/s/UhlpHoB9qj0hImSN44lPxw,如有侵權,請聯絡管理員刪除。
相關文章
- 企業為什麼要建資料倉儲?
- 資料庫倉庫系列:(一)什麼是資料倉儲,為什麼要資料倉儲資料庫
- 資料倉儲(6)數倉分層設計
- 為什麼要建資料倉儲,而不是直連資料來源?
- 資料倉儲架構分層設計架構
- Docker 映象倉庫為什麼要分庫分許可權?Docker
- 為什麼要分庫分表?
- 資料倉儲分層你清楚了嗎
- 資料倉儲分層概念之我見
- 談談為什麼要分庫分表?
- 什麼是資料倉儲
- 什麼是資料倉儲?
- 為什麼要進行域名解析?域名解析怎麼設定?
- 分層架構在資料倉儲的應用架構
- 好好的系統,為什麼要分庫分表?
- DDD | 05-什麼是倉儲層
- 資料庫怎麼分庫分表資料庫
- 為什麼要進行供應商資格認證?該怎麼做好管理?
- 為什麼要前後端分離?有什麼優缺點後端
- 為什麼要進行領域驅動設計? - Vincent
- 資料倉儲應該用什麼方案——資料倉儲實施方案概述
- 到底什麼是實時資料倉儲?
- 中小銀行資料倉儲建設 | 最佳實踐
- 為什麼要進行等保測評?
- 為什麼要早點進入IT行業?行業
- 為什麼以及如何要進行架構設計權衡?架構
- 資料治理為什麼要清洗資料
- 為什麼要進行等保?企業不進行等保有什麼影響?
- 資料分類分級究竟是什麼
- 怎麼進行資料整合?必要步驟有什麼?
- 資料倉儲主題域如何劃分
- 企業為什麼要進行專案控制?
- 為什麼要選擇代理來進行抓取?
- 資料湖是誰?那資料倉儲又算什麼?
- oracle分表效率,資料庫分庫分表是什麼,什麼情況下需要用分庫分表Oracle資料庫
- 為什麼要學資料結構?資料結構
- 數倉 - [04] 數倉分層
- 都說軟體架構要分層、分模組,具體應該怎麼做(二)架構