資料倉儲和OLAP技術回顧綜述

來源:互聯網
上載者:User

1. Introduction

寬泛的講,資料倉儲是一種資料庫,它與單位的操作資料庫分別維護。資料倉儲系統允許將各種應用系統整合在一起,為統一的曆史資料分析提供堅實的平台,對資訊處理提供支援。

Data warehousing is acollection of decision support technologies, aimed at enabling the knowledgeworker(executive, manager, analyst) to make better and faster decisions.

A data warehouse is a “subject-oriented,integrated, time-varying, non-volatile collection of data that is usedprimarily in organizational decision making”(William H. Inmon, 1996)

注意區分data warehouse(資料倉儲)和 datawarehousing(構建和使用資料倉儲的過程)。

四個關鍵字,面向主題的,整合的,時變的,非易失的,將資料倉儲與其他資料存放區系統相區別。

面向主題:資料倉儲關注決策者的資料建模與分析;整合的:構造資料倉儲是將多個異構資料來源繼承在一起;時變的:資料存放區從曆史的角度(如過去的5到10年)提供資訊;非易失的:資料倉儲總是物理的分離存放資料(它只需要兩種資料訪問操作:資料的初始化裝入和資料訪問)

資料倉儲支援線上分析處理(on-line analytical processing),這有別於操作資料庫所支援的聯機交易處理(on-line transaction processing)。

注意區分OLTP與OLAP:

聯機操作資料庫系統的主要任務是執行聯機事務和查詢處理。因此OLTP是面向顧客的(如學生查成績),通常管理當前資料,採用ER模型和面嚮應用的資料庫設計,訪問源主要由短的原子事務組成。

OLAP則是面向知識工人的,用於進行資料分析,OLAP系統管理著大量曆史資料,提供匯總和聚集機制,通常採用星形和雪花模型和面向主題的資料庫設計,對OLAP系統的訪問大部分是唯讀操作。因此,查詢輸送量和回應時間要比事務輸送量更重要。

為了便於進行複雜的分析與可視化,資料倉儲中的資料通常進行多維建模。並且維度是有層次關係的,如時間層次day-month-quarter-year,產品層次product-category-industry。

OLAP operations includerollup (increasing the level of aggregation) and drill-down (decreasing the levelof aggregation or increasing detail) along one or more dimension hierarchies,slice_and_dice (selection and projection), and pivot(re-orienting themultidimensional view of data).

資料倉儲可以在標準或擴充的關係型資料庫管理系統上進行實現,稱為關係型OLAP(ROLAP)伺服器。相比,多維OLAP(MOLAP)伺服器則使用特殊的資料結構直接儲存多維資料。

 

2.體繫結構和端到端的處理


圖1:資料倉儲體繫結構圖



圖2:一張更易讀的資料倉儲體繫結構圖


通常採用三層體繫結構:前端工具(頂層)-OLAP伺服器(中介層)-資料倉儲伺服器(底層)。

底層的資料倉儲伺服器通常是一個關聯式資料庫系統。中介層OLAP伺服器,典型實現為ROLAP模型或MOLAP模型。頂層為前端用戶端,用於資料分析和挖掘等(如趨勢分析、預測)。

 

3.後端工具和公用程式

後端工具用於進行資料的提取、清理、裝入與重新整理。資料提取,通常由多個異構的外部資料源收集資料;資料清理,檢測資料中的錯誤,可能是修正它們的作物;資料裝入,排序、匯總、合并、計算視圖、檢查完整性、並建立索引和劃分;重新整理,傳播由資料來源到資料倉儲的更新。

 

4.概念性模型和前端工具

In a multidimensional datamodel, there is a set of numeric measures that are the objects of analysis.Examples of such measures are sales, budget, revenue, inventory, ROI. Each ofthe numeric measures depends on a set of dimensions, which provide the contextfor the measure. For example, the dimensions associated with a sale amount canbe the city, product name, and the date when the sale was made. Each dimensionis described by a set of attributes.


圖3:多維資料模型


5.資料庫設計方法

這裡我們討論影響資料多維試圖的關聯式資料庫模式的設計。大部分的資料倉儲使用星形模式(star schema)來表示多維資料模型。資料庫包括一張事實表(fact table),事實表包含著所有的維,每項使用指標指向各個維表。每個維表中不同的列表示著該維的不同屬性。


圖4:星形模式舉例


雪花模式(snowflakeschema)是星形模式的變種,其中某些維表被正常化,因而把資料進一步分解到附加的表中。雪花模式的維表可能是正常化的形式,一遍減少冗餘,這種表易於維護,並節省儲存空間。


圖5:雪花模式舉例


複雜的應用可能需要多個事實表共用維表,這種模式可以看作星形模式的彙集,因此稱為事實星座(fact constellation)。


6.索引技術

資料倉儲可能包含著大量的資料,因此對查詢響應的最佳化是必要的。首先,資料倉儲使用冗餘結構,如索引和物化視圖(materialized views)。另外,可使用並行化進行查詢回應時間的最佳化。可以使用位元影像索引和串連索引對OLAP資料進行索引。

索引結構

位元影像索引(bitmapindexing),位元影像索引時recordid(RID)列表的一種替代表示。串連索引(join indexing)方法的流行源於它在關聯式資料庫查詢處理方面的應用。


圖6:位元影像索引舉例


物化方法和構造OLAP索引結構的目的是加快資料立方體查詢處理的速度。


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.