天天看點

OLAP技術,資料倉庫實施的環節、技術和方法論1 OLAP技術2 資料倉庫實施的關鍵環節和技術3 資料倉庫實施方法論

目錄

  • 1 OLAP技術
    • 1.1 OLTP與OLAP
      • 1.1.1 比較
      • 1.1.2 OLAP有關概念
      • 1.1.3 OLAP的分類
      • 1.1.4 OLAP工具
  • 2 資料倉庫實施的關鍵環節和技術
    • 2.1 資料抽取
    • 2.2 資料存儲與管理
    • 2.3 資料表現
  • 3 資料倉庫實施方法論

資料倉庫技術是為了有效地把操作型資料內建到統一的環境中以提供決策型資料通路的各種技術和模型的總稱。

1 OLAP技術

1.1 OLTP與OLAP

1.1.1 比較

  1. 資料處理兩大類:聯機事務處理(On-Line Transaction Processing,OLTP)和聯機分析處理(On-Line Analytical Processing,OLAP);
  2. OLTP是傳統操作型資料庫系統的主要應用,主要是日常事務處理,如銀行存取款等;
  3. OLAP是資料倉庫系統的主要應用,支援複雜分析、側重決策支援、提供直覺的查詢結果;
OLTP OLAP
使用者 操作人員、低層管理人員 決策人員、高層管理人員
功能 日常操作型事務處理 分析決策
資料庫設計目标 面向應用 面向主題
資料特點 目前的、最新的、細節的、二維的、分立的 曆史的、聚集的、多元的、內建的、統一的
存取規模 通常一次讀或寫數十條記錄 可能讀取百萬條以上記錄
工作單元 一個事務 一個複雜查詢
使用者數 成千上萬個使用者 可能隻有百十個使用者
使用者 GB級(通常100MB-1GB) TB級(通常100GB-1TB及以上)

1.1.2 OLAP有關概念

  1. 多元資料集:聯機分析處理的主要對象,是一個資料集合,通常從資料倉庫的子集構造,并組織彙總成一個由一組次元和路徑成本定義的多元結構;
  2. 次元:OLAP的核心,即人們觀察客觀世界的角度。通過把一個實體的一些重要屬性定義為維,使人們能對不同維屬性上的資料進行比較研究。例如,一個企業在考慮産品的銷售情況時,通常從時間、銷售地區和産品等不同角度來深入觀察産品的銷售情況。這裡的時間、地區和産品就是次元,這些維的不同組合和所考察的路徑成本(如銷售額)共同構成的多元資料集則是OLAP分析的基礎;
  3. 路徑成本:是多元資料集中的一組數值,這些值基于多元資料集的事實資料表中的一列,是最終使用者浏覽多元資料集時重點檢視的數值資料,也是所分析的多元資料集的中心值。如銷售額、成本值、費用支出等都可能成為路徑成本;
  4. 多元分析:指對以“維”形式組織起來的資料(多元資料集)采取切片、切塊、鑽取、旋轉等分析動作,以求剖析資料,使使用者能從不同角度、不同側面觀察資料倉庫中的資料,進而深入了解多元資料集中的資訊。多元分析操作通常包括如下内容:
    • 鑽取可以改變維的層次、變換分析的粒度,包括向上鑽取、向下鑽取、交叉鑽取、鑽透等。向上鑽取即減小維數,是在某一維上将低層次的細節資料概括到高層次的彙總資料,向下鑽取則從彙總資料深入到細節資料進行觀察,增加了維數;
    • 切片和切塊是在一部分維上標明值後,路徑成本在剩餘維上的分布。如果剩餘維有兩個則是切片,有三個則是切塊;
    • 旋轉是變換維的方向,即在表格中重新安排維的放置,例如行列互換;
  5. OLAP技術是使分析人員、管理人員或執行人員能夠從多角度對資訊進行快速、一緻、互動的存取,進而獲得對資料的深入了解的一種軟體技術;
  6. 目标是滿足在多元資料環境下的特定查詢與報表需求,以及輔助決策支援的需求;
  7. OLAP技術通常表現為多元資料分析工具的集合;

1.1.3 OLAP的分類

OLAP根據存儲資料的方式可分為ROLAP、MOLAP和HOLAP;

1 ROLAP

  1. ROLAP(relational OLAP)表示基于關系資料庫的OLAP實作;
  2. 以關系資料庫為核心,以關系型結構進行多元資料的表示和存儲;
  3. 将多元資料結構劃分為兩類表:事實表(用來存儲度量資料和維關鍵字),維表(針對每個維使用一個或多個表來存放維的層次、成員類别等維的描述資訊);
  4. 維表和事實表通過主關鍵字和外關鍵字聯系在一起,形成“星型模式”;
  5. 對層次複雜的維,為避免備援資料占用過大的存儲空間,可以使用多個表來描述這種次元,即對星型模式進行擴充,形成“雪花型模式”;

2 MOLAP

  1. MOLAP(multidimensional OLAP)表示基于多元資料結構組織的OLAP實作;
  2. 以多元資料組織方式為核心,例如使用多元數組來存儲資料;
  3. 多元資料在存儲中形成類似“立方塊”(cube)結構;
  4. 在MOLAP中對“立方塊“(可能不止三維)的”旋轉“、”切片“、”切塊“是産生多元資料報表的主要技術;

3 HOLAP

  1. HOLAP(hybrid OLAP)表示基于混合資料組織的OLAP實作;
  2. 有更好的靈活性:如低層是關系型的,高層是多元數組矩陣的;

1.1.4 OLAP工具

  1. OLAP工具是針對特定問題的聯機資料通路與分析,通過多元的方式對資料進行分析、查詢和報表;
  2. 一般是數倉應用的前端工具;
  3. 可以同資料挖掘工具、統計分析工具配合使用,以增強決策分析功能;

2 資料倉庫實施的關鍵環節和技術

2.1 資料抽取

  1. 資料倉庫是一個獨立的資料庫環境,需要通過抽取過程将資料從聯機事務處理系統、外部資料源以及脫機的資料存儲媒體中導入資料倉庫;
  2. 資料抽取在技術上主要涉及互連、複制、增量、轉換、排程和監控等方面;
  3. 資料倉庫的資料不要求與聯機事務處理系統保持實時同步,是以抽取可以定時進行;

2.2 資料存儲與管理

  1. 面對大量資料的存儲和管理。對于傳統的資料倉庫來說,隻有關系資料庫管理系統能擔此重任;目前資料倉庫與大資料平台的內建已成為一種趨勢,可以采用Hadoop叢集和NoSQL資料庫來擴充資料倉庫的存儲能力;
  2. 并行處理。在傳統聯機事務處理應用中,使用者通路系統快速而密集,是以處理好并發操作是關鍵。而在數倉系統中,使用者通路系統龐大而稀疏,每一個查詢和統計都很複雜,但通路的頻率不是很高。系統需要有能力将所有的軟硬體資源調動起來,為這一複雜的查詢請求服務,并對該請求作并行處理;
  3. 針對決策支援查詢的優化。由于數倉中各資料表的資料量分布往往極不均勻,普通查詢優化器得出的最佳查詢路徑可能不是最優的,是以面向決策支援的關系資料庫在查詢優化器上也做了改進,根據索引的使用特性增加了多重索引掃描機制和連接配接索引機制。數倉的查詢常常隻需要資料庫中的部分記錄,如消費最多的前10名客戶等,且針對數倉的查詢有時并不需要像事務處理系統那樣精确,但要求在大容量資料環境中有足夠短的系統響應時間。是以,多數關系資料庫管理系統都對資料倉庫和決策支援應用提供單獨的系統安裝選項,并針對資料倉庫應用提供諸如基于資料采樣的查詢能力,進而在精确度允許的範圍内,大幅度提高系統查詢效率;
  4. 支援多元分析的查詢模式。使用者在使用資料倉庫時的通路方式與傳統資料庫有很大不同,對于資料倉庫的通路往往不是簡單的表和記錄的查詢,而是基于使用者業務主題的分析模式,即聯機分析,其特點是将資料想象成多元的立方體,使用者的查詢便相當于在其中的部分維上施加條件,對立方體進行切片、分割,得到的結果往往是數值矩陣或向量,然後将其制成圖表或輸入統計分析的算法;由于關系資料庫本身沒有提供這種多元統計分析的查詢功能,針對此問題,一般采用多元資料庫或星型模式等技術:
    1. 多元資料庫是一種以多元資料結構存儲形式來組織資料的資料管理系統,它不是關系資料庫,在使用時需要将資料從關系資料庫中加載到多元資料庫;采用多元資料庫實作的聯機分析應用即MOLAP;由于多元資料庫缺少關系資料庫所擁有的并行處理能力和大規模資料管理的擴充性,是以難以承擔大型資料倉庫應用,通常作為資料集市的一種實作方式;
    2. 星型模式是指關系資料庫系統通過采用星型模式或類似結構來組織資料,以解決多元分析問題;星型模式可以将使用者的多元查詢請求轉換成針對該資料模式的标準SQL語句,而且該語句是最優化的;星型模式的應用為關系資料庫在資料倉庫領域的應用提供了廣闊前景;采用關系資料庫實作的聯機分析應用即ROLAP;目前大多數數倉廠商提供的資料庫解決方案都采用ROLAP,是以,針對決策支援應用做過優化的并行關系資料庫技術仍是資料倉庫的核心和關鍵技術;

2.3 資料表現

資料表現是資料倉庫的展示界面,針對資料表現的工具主要集中在多元分析、統計分析和資料挖掘三個方面:

  1. 多元分析是資料倉庫的重要表現形式,由于MOLAP系統是專用的,是以關于多元分析領域的工具和産品大多是ROLAP工具,這些産品支援資料的Web釋出,并提供基于Web的前端聯機分析界面;
  2. 在實際應用中,客戶通過對資料的統計分析來驗證對某些事物或事件的假設,以進行決策;
  3. 資料挖掘不僅要驗證人們對資料特性的假設,還要主動尋找并發現蘊藏在資料之中的規律;

3 資料倉庫實施方法論

在資料倉庫的實施過程中,首先需要弄清如下問題:

  1. 數倉提供哪些部門使用?各部門如何發揮數倉的決策效益?
  2. 數倉需要存放哪些資料?這些資料以什麼樣的結構存放?
  3. 資料從哪裡裝載?裝載的頻率多少為合适?
  4. 建立數倉需要選擇哪些資料管理産品和工具?

資料倉庫不是簡單的資料或産品堆砌,它是一個綜合內建解決方案和系統工程。在資料倉庫的實施過程中,技術決策至關重要,技術選擇或決策失誤很可能導緻項目實施失敗。

繼續閱讀