數據倉庫邏輯、物理結構及OLAP分析

   數據倉庫是存儲數據的一種組織形式,它從傳統數據庫中獲得原始數據,先按輔助決策的主題要求形成當前基本數據層,再按綜合決策的要求形成綜合數據層(又可分爲輕度綜合層和高度綜合層)。隨着時間的推移,由時間控制機制將當前基本數據層轉爲歷史數據層。可見數據倉庫中邏輯結構數據由3層到4層數據組成,它們均由元數據(Meta Data) 組織而成。數據倉庫中數據的物理存儲形式有多維數據庫組織形式(空間超立方體形式)和基於關係數據庫組織形式(由關係型事實表和維表組成)。
    數據倉庫系統(DWS)由數據倉庫、倉庫管理和分析工具三部分組成。
    源數據:數據倉庫的數據來源於多個數據源,包括企業內部數據、市場調查報告及各種文檔之類的外部數據。
    倉庫管理: 在確定數據倉庫信息需求後,首先進行數據建模,然後確定從源數據到數據倉庫的數據抽取、清理和轉換過程,最後劃分維數及確定數據倉庫的物理存儲結構。元數據是數據倉庫的核心,它用於存儲數據模型和定義數據結構、轉換規劃、倉庫結構、控制信息等。
數據倉庫: 包括對數據的安全、歸檔、備份、維護、恢復等工作,這些工作需要利用數據庫管理系統(DBMS)的功能。
    分析工具用於完成實際決策問題所需的各種查詢檢索工具、多維數據的OLAP分析工具、數據挖掘DM工具等,以實現決策支持系統的各種要求。
    數據倉庫應用是一個典型的C/S結構。其客戶端的工作包括客戶交互、格式化查詢及結果和報表生成等。服務器端完成各種輔助決策的SQL查詢、複雜的計算和各類綜合功能等。現在,一種越來越普遍的形式是三層結構,即在客戶與服務器之間增加一個多維數據分析服務器。OLAP服務器能加強和規範決策支持的服務工作,集中和簡化原客戶端和DW服務器的部分工作,降低系統數據傳輸量,因此工作效率更高。 
  聯機分析處理(OLAP)
    聯機分析處理 (OLAP) 的概念最早是由關係數據庫之父E.F.Codd於1993年提出的,他同時提出了關於OLAP的12條準則。OLAP的提出引起了很大的反響,OLAP作爲一類產品同聯機事務處理 (OLTP) 明顯區分開來。
    當今的數據處理大致可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關係型數據庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。OLAP是數據倉庫系統的主要應用,支持複雜的分析操作,側重決策支持,並且提供直觀易懂的查詢結果。
OLTP與OLAP之間的比較
    OLAP是使分析人員、管理人員或執行人員能夠從多角度對信息進行快速、一致、交互地存取,從而獲得對數據的更深入瞭解的一類軟件技術。OLAP的目標是滿足決策支持或者滿足在多維環境下特定的查詢和報表需求,它的技術核心是"維"這個概念。
“維”是人們觀察客觀世界的角度,是一種高層次的類型劃分。“維”一般包含着層次關係,這種層次關係有時會相當複雜。通過把一個實體的多項重要的屬性定義爲多個維(dimension),使用戶能對不同維上的數據進行比較。因此OLAP也可以說是多維數據分析工具的集合。
    OLAP的基本多維分析操作有鑽取(roll up和drill down)、切片(slice)和切塊(dice)、以及旋轉(pivot)、drill across、drill through等。
  鑽取是改變維的層次,變換分析的粒度。它包括向上鑽取(roll up)和向下鑽取(drill down)。roll up是在某一維上將低層次的細節數據概括到高層次的彙總數據,或者減少維數;而drill down則相反,它從彙總數據深入到細節數據進行觀察或增加新維。
 切片和切塊是在一部分維上選定值後,關心度量數據在剩餘維上的分佈。如果剩餘的維只有兩個,則是切片;如果有三個,則是切塊。
 旋轉是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。
    OLAP有多種實現方法,根據存儲數據的方式不同可以分爲ROLAP、MOLAP、HOLAP。
    ROLAP 表示基於關係數據庫的OLAP實現(Relational OLAP)。以關係數據庫爲核心,以關係型結構進行多維數據的表示和存儲。ROLAP將多維數據庫的多維結構劃分爲兩類表:一類是事實表,用來存儲數據和維關鍵字;另一類是維表,即對每個維至少使用一個表來存放維的層次、成員類別等維的描述信息。維表和事實表通過主關鍵字和外關鍵字聯繫在一起,形成了"星型模式"。對於層次複雜的維,爲避免冗餘數據佔用過大的存儲空間,可以使用多個表來描述,這種星型模式的擴展稱爲"雪花模式"。
    MOLAP 表示基於多維數據組織的OLAP實現(Multidimensional OLAP)。以多維數據組織方式爲核心,也就是說,MOLAP使用多維數組存儲數據。多維數據在存儲中將形成"立方塊(Cube)"的結構,在MOLAP 中對"立方塊"的"旋轉"、"切塊"、"切片"是產生多維數據報表的主要技術。
    HOLAP表示基於混合數據組織的OLAP實現(Hybrid OLAP)。如低層是關係型的,高層是多維矩陣型的。這種方式具有更好的靈活性。
    還有其他的一些實現OLAP的方法,如提供一個專用的SQL Server,對某些存儲模式(如星型、雪片型)提供對SQL查詢的特殊支持。
    OLAP 工具是針對特定問題的聯機數據訪問與分析。它通過多維的方式對數據進行分析、查詢和報表。維是人們觀察數據的特定角度。例如,一個企業在考慮產品的銷售情況時,通常從時間、地區和產品的不同角度來深入觀察產品的銷售情況。這裏的時間、地區和產品就是維。而這些維的不同組合和所考察的度量指標構成的多維數組則是OLAP分析的基礎,可形式化表示爲(維1,維2,……,維n,度量指標),如(地區、時間、產品、銷售額)。多維分析是指對以多維形式組織起來的數據採取切片(Slice)、切塊(Dice)、鑽取(Drill-down和Roll-up)、旋轉(Pivot)等各種分析動作,以求剖析數據,使用戶能從多個角度、多側面地觀察數據庫中的數據,從而深入理解包含在數據中的信息。
    根據綜合性數據的組織方式的不同,目前常見的OLAP主要有基於多維數據庫的MOLAP及基於關係數據庫的ROLAP兩種。MOLAP是以多維的方式組織和存儲數據,ROLAP則利用現有的關係數據庫技術來模擬多維數據。在數據倉庫應用中,OLAP應用一般是數據倉庫應用的前端工具,同時OLAP工具還可以同數據挖掘工具、統計分析工具配合使用,增強決策分析功能。 
  但是不管你使用什麼數據庫或者給你什麼樣的工具,建立數據倉庫的概念是一樣的。你需要設計並創建維表,事實表和元數據表。用的最多的是星型模式。總是要有一個ETL過程,而這總是很困難的。清空和轉換過程也必不可少,以保證數據質量。現在有如此多的ETL工具來清空和建立數據倉庫,很難跟蹤它們。有如此多的軟件產品供選擇以建立各種不同的商務智能報告-網絡分析報告,計劃報告,預測報告,交互報告甚至dashboard reports。但是又能如何呢!現在我不再需要這些工具來建立一個動態數據倉庫和報告了,就像12年前那樣。並且你也不需要!用你所擁有的開始已經足夠了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章