1. 程式人生 > >資料倉庫(一):認識資料倉庫

資料倉庫(一):認識資料倉庫

剛接觸資料倉庫是在我的第一份實習工作——資料中心資料管理系統開發,它是一個B/S架構的應用,與一般的專案不同的是,系統是以資料倉庫來進行資料存取的,這是我第一次聽說數倉這個詞,感覺它龐大而且神祕,不知道從何入手,對資料倉庫有一種敬畏之心,後來經過慢慢的學習和使用,發現其實它在應用開發中的使用方法跟傳統關係資料庫沒什麼區別,無非就是普通的SQL查詢以及JDBC連線。所以數倉的使用不是本文的重點,我們主要來認識一下資料倉庫到底是什麼。

文章要點

  • 什麼是資料倉庫
  • 資料中心架構
  • 資料倉庫內部架構

什麼是資料倉庫

資料倉庫(Data Warehouse)是面向主題的、整合的、穩定的、隨時間變化的資料集合,用來支援運營管理中的決策制定,為使用者提供各種手段從資料中獲取有用的資訊。它的根本任務是對大量的業務資料進行歸納整理以及重組,然後提供給決策管理人員。

資料倉庫是依賴於資料庫進行資料儲存和管理的,所以資料庫是整個資料倉庫的核心。相對於傳統資料庫來說數倉的資料庫最突出的特點是對海量資料的支援和快速的檢索技術,最具代表性的是Teradata公司的Teradata資料庫。資料倉庫平臺即資料庫和其它各種軟體工具整合的一套資料倉庫軟體。

資料中心架構

資料中心的簡化架構如下圖:

資料中心架構

名稱 說明
業務系統 資料倉庫的資料來源系統,提供各種所需的業務系統資料,如清算系統、票務系統等業務資料
資料載入 通過FTP檔案傳輸或者資料庫連線等方式,從業務系統中抽取資料統一存放,並提供給下游應用進行訪問
資料倉庫 資料載入到資料倉庫後,通過預先定義的資料模型
處理資料,並進行存放彙總,包含臨時資料、核心模型資料、集市資料和元資料等,提供給下游應用使用
訪問代理 為下游應用對資料倉庫的訪問提供負載均衡、災備系統切換等服務
資料訪問 各下游應用如統計分析、運營評估、資訊管理等應用平臺,對資料倉庫的資料進行查詢獲取,可通過匯出資料檔案或資料庫連線等方式進行訪問
ETL管理 對資料抽取轉換載入(ETL)的管理,它是構建資料倉庫的重要一環,包括總體控制、作業管理、上下游依賴管理、錯誤管理、排程監控等所有ETL相關內容的管理

資料倉庫內部架構

資料倉庫的真正關鍵是資料的儲存和管理。資料倉庫的組織管理方式決定了它有別於傳統資料庫,其中一個重要的特點是對資料的分割槽管理,ETL會根據預先定義的資料模型以及各種資料的用途,來對數倉中的資料進行劃分,它的內部架構一般是這樣的:

資料倉庫內部架構

資料區 資料區名稱 說明
STG 臨時區 存放從源系統抽取的原始資料
ODS 操作映象區 完成原始資料的增量累全量工作,保留較短歷史資料
PDM 物理資料模型區 基於資料模型設計,存放規範化資料,保留較長曆史資料
SUM 基礎資料衍生區 存放預統計、預彙總資料,提煉出對資料倉庫具有共性的資料訪問、統計需求,從而構建出的一個面向支援應用系統、資料分析與資料探勘提供共享的資料訪問服務的公共資料區
APP 應用集市區 按照應用系統分別建立,存放為某類特定的業務系統服務的資料集合,根據業務需要的重度彙總資料