數據倉庫和數據挖掘的OLAP技術(武漢大學-李春葆)_第1頁
數據倉庫和數據挖掘的OLAP技術(武漢大學-李春葆)_第2頁
數據倉庫和數據挖掘的OLAP技術(武漢大學-李春葆)_第3頁
數據倉庫和數據挖掘的OLAP技術(武漢大學-李春葆)_第4頁
數據倉庫和數據挖掘的OLAP技術(武漢大學-李春葆)_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章

數據倉庫和數據挖掘的OLAP技術數據倉庫庫-數據據挖掘的的有效平平臺。數據倉庫庫中的數數據清理理和數據據集成,,是數據據挖掘的的重要數數據預處處理步驟驟。數據倉庫庫提供OLAP工具,可可用于不不同粒度度的數據據分析。。很多數據據挖掘功功能都可可以和OLAP操作集成成,以提提供不同同概念層層上的知知識發(fā)現現。分類預測關聯聚集2.1什么是數數據倉庫庫20世紀80年代中期期,“數數據倉庫庫”這個個名詞首首次出現現在號稱稱“數據據倉庫之之父”W.H..Inmon的《BuildingDataWarehouse》》一書中。。在該書中中,W.H..Inmon把數據倉倉庫定義義為“一個面向向主題的的、集成成的、穩(wěn)穩(wěn)定的、、隨時間間變化的的數據的的集合,,以用于于支持管管理決策策過程”。2.1..1數據倉庫庫的定義義數據倉庫庫還有許許多不同同的定義義,如::“數據倉庫庫是融合合方法、、技術和和工具以以在完整整的平臺臺上將數數據提交交給終端端用戶的的一種手手段”。“數據倉庫庫是對分分布在企企業(yè)內部部各處的的業(yè)務數數據的整整合、加加工和分分析的過過程”?!皵祿}庫庫是一種種具有集集成性、、穩(wěn)定性性和提供供決策支支持的處處理”?!盀椴樵兒秃头治觯ǎú皇鞘率聞仗幚砝恚┒O設計的關關系數據據庫”在眾多的的數據倉倉庫定義義中,公公認的仍仍然是W.H..Inmon的定義,,該定義義指出了了數據倉倉庫面向主題題、集成成、穩(wěn)定定、隨時時間變化化這4個最重要要的特征征。(1)面向主主題主題就是在一一個較高高的管理理層次上上對信息息系統(tǒng)的的數據按按照某一一具體的的管理對對象進行行綜合、、歸類所所形成的的分析對對象。如顧客、、供應商商、產品品和銷售售組織等等。從數據組組織的角角度看,,主題是一一些數據據集合,這些數數據集合合對分析析對象作作了比較較完整的的、一致致的描述述,這種種描述不不僅涉及及到數據據自身,,而且涉涉及到數數據之間間的關系系。面向主題題的數據據組織方方式,就就是在較較高層次次上對分分析對象象的數據據的一個個完整、、一致的的描述,,能完整整、統(tǒng)一一地刻畫畫各個分分析對象象所涉及及的企業(yè)業(yè)的各項項數據,,以及數數據之間間的聯系系。(2)集成數據倉庫庫中存儲儲的數據據一般從從企業(yè)原原來已建建立的數數據庫系系統(tǒng)中提提取出來來,但并并不是原原有數據據的簡單單拷貝,,而是經經過了抽取、篩篩選、清清理、綜綜合等工作。。這是因因為:1)原有有數據庫庫系統(tǒng)記記錄的是是每一項項業(yè)務處處理的流流水帳,,這些數數據不適適合于分分析處理理。在進進入數據據倉庫之之前必須須經過綜綜合、計計算,同同時拋棄棄一些分分析處理理不需要要的數據據項,必必要時還還要增加加一些可可能涉及及的外部部數據。。2)數據據倉庫每每一個主主題所對對應的源源數據在在源分散散數據庫庫中有許許多重復復或不一一致之處處,必須須將這些些數據轉轉換成全全局統(tǒng)一一的定義義,消除除不一致致和錯誤誤之處,,以保證證數據的的質量;;顯然,,對不準準確,甚甚至不正正確的數數據分析析得出的的結果將將不能用用于指導導企業(yè)做做出科學學的決策策。3)源數數據加載載到數據據倉庫后后,還要要根據決決策分析析的需要要對這些些數據進進行概括括、聚集集處理。。(3)穩(wěn)定性性即非易易失的業(yè)務系統(tǒng)統(tǒng)的數據據庫中一一般只存存儲短期期數據,,因此在在數據庫庫系統(tǒng)中中數據是是不穩(wěn)定定的,它它記錄的的是系統(tǒng)統(tǒng)中數據據變化的的瞬態(tài)。。但對于決決策分析析而言,,歷史數數據是相相當重要要的,許許多分析析方法必必須以大大量的歷歷史數據據為依托托。沒有有大量歷歷史數據據的支持持是難以以進行企企業(yè)的決決策分析析的,因因此數據倉庫庫中的數數據大多多表示過過去某一一時刻的的數據,主要用用于查詢詢、分析析,不像像業(yè)務系系統(tǒng)中的的數據庫庫那樣,,要經常常進行修修改、添添加,除除非數據據倉庫中中的數據據是錯誤誤的。(4)隨時間間而變化化即時變變的數據倉庫庫中數據據是批量量載入的的,是穩(wěn)穩(wěn)定的,,這使得得數據倉倉庫中的的數據總總是擁有有時間維維度。從這個角角度,數據倉庫庫實際是是記錄了了系統(tǒng)的的各個瞬瞬態(tài),并通過過將各個個瞬態(tài)連連接起來來形成動動畫,從從而在數數據分析析的時候候再現系系統(tǒng)運動動的全過過程。數數據批量量載入((提?。┑闹芷谄趯嶋H上上決定了了動畫間間隔的時時間,數數據提取取的周期期短,則則動畫的的速度快快。2.1..2數據倉庫庫與操作作數據庫庫系統(tǒng)的的區(qū)別操作數據據庫系統(tǒng)統(tǒng)的主要要任務是是聯機事事務處理理OLTP日常操作作:購買,庫庫存,銀銀行,制制造,工工資,注注冊,記記帳等。。數據倉庫庫的主要要任務是是聯機分分析處理理OLAP數據分析析和決策策支持,,支持以以不同的的形式顯顯示數據據以滿足足不同的的用戶需需要。OLTP和OLAP的比較((1/3)用戶和系系統(tǒng)的面面向性面向顧客客(事務務)面向市場場(分析析)。數據內容容當前的、、詳細的的數據歷史的、、匯總的的數據。。數據庫設設計實體-聯聯系模型型(ER)和面向向應用的的數據庫庫設計星型/雪花模型型和面向向主題的的數據庫庫設計。。OLTP和OLAP的比較((2)數據視圖圖當前的、、企業(yè)內內部的數數據經過演化化的、集集成的數數據。訪問模式式事務操作作只讀查詢詢(但很很多是復復雜的查查詢)任務單位位簡短的事事務復雜的查查詢。訪問數據據量數十個數百萬個個。OLTP和OLAP的比較((3)用戶數數千個數百個。。數據庫規(guī)規(guī)模100M~數GB100GB~數TB。設計優(yōu)先先性高性能、、高可用用性高靈活性性、端點點用戶自自治。度量事務吞吐吐量查詢吞吐吐量、響響應時間間。2.1..3為什么需需要一個個分離的的數據倉倉庫?提高兩個個系統(tǒng)的的性能DBMS是為OLTP而設計的的:存儲儲方式、、索引、、并發(fā)控制制和恢復。數據倉庫庫是為OLAP而設計::復雜的的OLAP查詢、多多維視視圖和匯匯總。不同的功功能和不不同的數數據:歷史數據據:決策策支持需需要歷史史數據,,而這些些數據在在操作數數據庫中中一般不不會去維維護。數據匯總總:決策策支持需需要將來來自異種種源的數數據統(tǒng)一一(如聚聚集和匯匯總)。。數據質量量:不同同的源使使用不一一致的數數據表示示、編碼碼和格式式,對這這些數據據進行有有效的分分析需要要將他們們轉化后后進行集集成。2.1..4數據倉庫庫中的關關鍵名詞詞1.ETL(Extract/Transformation/Load)—數據抽取取、轉換換、加載載工具ETL工具就是是進行數數據的抽抽取、轉轉換和加加載工具具。(1)數據提提?。―ataExtract)從業(yè)務數數據庫只只需提取取出系統(tǒng)統(tǒng)分析必必需的那那一部分分數據。。例如,,某超市市確定以以分析客客戶的購購買行為為為主題題建立數數據倉庫庫,則我我們只需需將與客客戶購買買行為相相關的數數據提取取出來,,而超市市服務員員工的數數據就沒沒有必要要放進數數據倉庫庫?,F有的數數據倉庫庫產品幾幾乎都提提供各種種關系型型數據接接口,提提供提取取引擎,,從關系系型數據據中提取取數據。。(2)數據轉轉換(DataTransform)由于業(yè)務務系統(tǒng)可可能使用用不同的的數據庫庫廠商的的產品,,比如IBMDB2、Oracle、Informix、Sybase、NCRTeradata、SQLServer等,各種種數據庫庫產品提提供的數數據類型型可能不不同,因因此需要要將不同同格式的的數據轉轉換成統(tǒng)統(tǒng)一的數數據格式式。如時時間格式式“年/月/日”,““月/日/年”、““日-月-年”的不不一致問問題等。。(3)數據清清洗(DataClean)所謂“清清洗”就就是將錯錯誤的、、不一致致的數據據在進入入數據倉倉庫之前前予以更更正或刪刪除,以以免影響響決策支支持系統(tǒng)統(tǒng)決策的的正確性性。(4)數據據加載((DataLoad)數據加載載部件負負責將數數據按照照物理數數據模型型定義的的表結構構裝入數數據倉庫庫,包括括清空數數據域、、填充空空格、有有效性檢檢查等步步驟。2.元數據((MetaData)“什么是是元數據據?”元元數據是是描述數據據的數據據。在數據倉倉庫中,,元數據據是定義義數據倉倉庫對象象的數據據。元數數據包括括相應數數據倉庫庫的數據據名和定定義、數數據提取取操作時時被提取取數據的的時間和和地點以以及數據據清理或或數據集集成過程程添加的的字段等等。它提提供了有有關數據據的環(huán)境境,用于于構造、、維持、、管理、、和使用用數據倉倉庫,在在數據倉倉庫中尤尤為重要要。CREATETABLEstudent{noint;namechar((10));sexchar(2);classchar(8));}nonamesexclass1張三男1301…………數據數據的數數據:元元數據3.數據集市市(DataMarket)數據倉庫庫中存放放的是整整個企業(yè)業(yè)的信息息,并且且數據是是按照不不同主題題來組織織的。比比如市場場發(fā)展規(guī)規(guī)律的分分析主題題主要由由市場部部門的人人員使用用,我們們可以在在邏輯上上或者物物理上將將這部分分數據分分離出來來,當市市場部門門人員需需要信息息時,不不需要到到數據倉倉庫的巨巨量數據據中檢索索,而只只需在相相應的部部門數據據上進行行分析,,因此從從效率和和處理速速度的角角度出發(fā)發(fā),這種種劃分是是合算的的。這種面向向企業(yè)中中的某個個部門((主題))而在邏輯上上或物理理上劃分分出來的的數據倉倉庫中的的數據子子集稱為數據集市市。換句話話說,數數據集市市包含了了用于特特殊目的的數據倉倉庫的部部分數據據。數據倉庫庫面向整整個企業(yè)業(yè),而數數據集市市則是面面向企業(yè)業(yè)中的某某個部門門。典型型示例是是銷售部部門、庫庫存和發(fā)發(fā)貨部門門、財務務部門和和高級管管理部門門等的數數據集市市。數據據倉庫中中存放了了企業(yè)的的整體信信息,而而數據集集市只存存放了某某個主題題需要的的信息,,其目的的是減少少數據處處理量,,使信息息的利用用更快捷捷、靈活活。4.OLAPOLAP(On-lineAnalyticalProcessing,在線分分析處理理或聯機機分析處處理)就就是一個個應用廣廣泛的數數據倉庫庫使用技技術。它可以根根據分析析人員的的要求,,迅速靈靈活地對對大量的的數據進進行復雜雜的查詢詢處理,,并以直直觀的容容易理解解的形式式將查詢詢結果提提供給各各種決策策人員,,使他們們能夠迅迅速準確確地掌握握企業(yè)的的運營情情況,了了解市場場的需求求。2.2多維數據據模型2.2..1由表到數數據立方方體數據倉庫庫和OLAP工具基于于多維數數據模型型。在多維數數據模型型中,數數據以數數據立方方體(datacube)的形式式存在。。數據立方方體允許許以多維維數據建建模和觀觀察。它它由維和和事實定定義。維是人們們觀察數數據的特特定角度度,是考考慮問題題時的一一類屬性性。屬性性的集合合構成一一個維((如時間間維、機機構維等等)。維分層::同一維維度還可可以在細細節(jié)程度度不同的的各個描描述方面面(如時時間維可可包含年年、季度度、月份份和日期期等)。。維屬性::維的一一個取值值,是數數據項在在某維中中位置的的描述((如2013年11月2日在時間間維上位位置的描描述)。每個維都都有一個個表與之之相關聯聯,稱為為維表。。一個數據據立方體體:多維數據據模型圍圍繞中心心主題組組織,該該主題用用事實表表表示。事實表包包括事實實的名稱稱或度量量以及每每個相關關維表的的關鍵字字。事實指的的是一些些數字度度量。學生課程分數100120018910022002831005200490┇┇┇學號姓名班號1張三1201┇┇┇學生1001┇課程編號名稱20011C++┇┇┇學生維表表成績事實實表課程維表表OLTP系統(tǒng)是為為了快速速回答簡簡單查詢詢,而不不是為了了存儲分分析趨勢勢的歷史史數據而而創(chuàng)建的的。一般般的OLTP提供了大大量的原原始數據據,這些些數據不不易被分分析。查詢某人人買房記記錄。查詢某房房的價值值?!粋€英國國房屋銷銷售系統(tǒng)統(tǒng):兩個系統(tǒng)統(tǒng)數據組組織模式式比較示示例1來源于事事務型的的數據庫庫,如采采用關系系型數據據庫進行行數據存存儲數據倉庫庫需要回回答更復復雜的查查詢,而而不僅僅僅是一些些像“英英國主要要城市的的商品平平均銷售售價格是是多少””之類的的簡單聚聚集數據據查詢。。數據倉庫庫需要回回答的查查詢類型型可以是是簡單的的查詢,,也可以以是高度復雜雜的,且還還與終端端用戶使使用的查查詢工具具相關。。2008年第三季季度,整整個英格格蘭的總總收入是是多少??2007年英國每每一類房房產銷售售的總收收入是多多少?2008年租借房房產業(yè)務務中每個個城市哪哪個地域域最受歡歡迎?與與過去的的兩年相相比有何何不同??每個分支支機構本本月的房房產銷售售月收入入是多少少,并與與剛過去去的12個月相比比較。如果對于于10萬英鎊以以上的房房產,法法定價格格上升3.5%%而政府稅稅收下降降1.5%%,對英國國不同區(qū)區(qū)域的銷銷售會產產生什么么影響??在英國主主要城市市中,哪哪種類型型的房產產銷售價價格高于于平均房房產銷售售價格??這與人人口統(tǒng)計計數據有有何聯系系?英國房屋屋銷售數數據倉庫庫系統(tǒng)::來源于已已處理的的或匯總總的數據據,要預預先采用用數據結結構如多多維模型型存放這這些匯總總的數據據。

兩個系統(tǒng)統(tǒng)數據組組織模式式比較示示例2數據庫系系統(tǒng)面向“商商品”、、“供應應商”和和“顧客客”的數數據倉庫庫系統(tǒng)商品數據倉庫結構供應商數據倉庫結構顧客數據倉庫結構來源于的的前面的的多個表表的數據據從上述實實例,不不難看出出:在從面向向應用到到面向主主題的轉轉變過程程中,丟丟棄了原原來有的的但不必必要的、、不適于于分析的的信息;;在原有的的數據庫庫模式中中,有關關商品的的信息分分散在各各個子系系統(tǒng)之中中;面向向主題的的數據組組織方式式所強調調的就是是要形成成關于主主題一致致的信息息集合;;不同主題題之間有有重疊內內容。2.2..2多維數據據模型

time_keydayday__of__the_weekmonthquarteryeartime維表location_keystreetcitystate_or_provincecountrylocation維表Sales事實表time_keyitem_keybranch__keylocation_keyunits_solddollars_solditem_keyitem_namebrandtypesupplier_typeitem維表branch__keybranch__namebranch__typebranch維表數據倉庫庫:事實實表+維維表度量在數據倉倉庫中,,數據立立方體是是n-D的(n維)(關系表表和電子子表格是是幾維的的?)多維數據據模型為為不同角角度上的的數據建建模和觀觀察提供供了一個個良好的的基礎。。示例AllElectronics的銷售數數據按維維time,item的2-D視圖。location=““Vancouver“(溫哥華))item(類型)time(季度)家庭娛樂樂計算機電電話安安全Q160582514400Q268095231512Q3812102330501Q4927103838580AllElectronics的銷售數數據按維維time,item和location的3-D視圖。location=“Chicage”itemtime家庭娛樂樂計算算機電電話安安全Q185488289623Q294389064698Q3103292459789Q4112999263870location=““NewYork”itemtime家庭娛樂樂計算算機電電話安安全Q1108796838623Q294389064698Q3103292459789Q4112999263870...AllElectronics的銷售數數據按維維time、item和location的3-D視圖的3-D數據立方方體表示示。銷售數據據的4-D立方體表表示。4維分別是是time、item、location和supplier。一個n維的數據據的立方方體叫做做基本立方方體。給定一個個維的集集合,我我們可以以構造一一個立方方體的格格,每個個都在不不同的匯匯總級或或不同的的數據子子集顯示示數據,,立方體體的格稱稱為數據立方方體。0維立方體體存放最最高層的的匯總,,稱作頂頂點立方方體;而而存放最最底層匯匯總的立立方體則則稱為基基本立方方體。數據立方方體格alltimeitemlocationsuppliertime,itemtime,locationtime,supplieritem,locationitem,supplierlocation,suppliertime,item,,locationtime,item,,suppliertime,location,supplieritem,location,suppliertime,item,location,supplier0維-頂點點立方體體1維-立方方體2維-立方方體3維-立方方體4維-基本本立方體體i-1維立方體體i維立方體體上卷下鉆i越大,數數據越細細2.2..3數據倉庫庫的概念念模型最流行的的數據倉倉庫概念念模型是是多維數數據模型型。這種種模型可可以以星星型模式式、雪花花模式、、或事實實星座模模式的形形式存在在。星型模式式(Starschema):事實表在在中心,,周圍圍圍繞地連連接著維維表(每每維一個個),事事實表含含有大量量數據,,沒有冗冗余。1.星型模式式星型模式式實例

time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationsales事實表time_keyitem_keybranch__keylocation_keyunits_solddollars_solditem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch維表度量維表維表維表雪花模式式(Snowflakeschema):是星型模模式的變變種,其其中某些些維表是是規(guī)范化化的,因因而把數數據進一一步分解解到附加加表中。。結果,,模式圖圖形成類類似于雪雪花的形形狀。2.雪花模式式雪花模式式實例time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationsales事實表time_keyitem_keybranch__keylocation_keyunits_solddollars_solditem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity星型模式式雪花模式式維表規(guī)格格化維表度量維表維表維表維表維表事實星座座(Factconstellations):多個事實實表共享享維表,這種模式式可以看看作星型型模式集集,因此此稱為星星系模式式(galaxyschema),或者者事實星星座(factconstellation)。2.事實星座座模式事實星座座模式實實例time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationsales事實表time_keyitem_keybranch__keylocation_keyunits_solddollars_solditem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch航運事實實表time_keyitem_keyshipper_keyfrom_locationto_locationdollars_costunits_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper星型/雪花模式式事實模式式多個事實實表共享享維表度量維表維表維表維表維表2.2..4一種數據據倉庫查查詢語言言:DMQLDMQL首先包括括定義數數據倉庫庫和數據據集市的的語言原原語,這這包括兩兩種原語語定義::一種是是立方體體定義,,一種是是維定義義立方體定定義((事實表表)definecube<<cube_name>[[<dimension_list>]::<<measure__list>維定義((維表表)definedimension<dimension__name>as(<attribute__or__subdimension_list>)實例:使使用DMQL定義星型型模式definecubesales_star[time,item,branch,,location]:dollars_sold==sum((sales__in__dollars),avg__sales=avg((sales__in__dollars),units_sold=count((*)definedimensiontimeas((time_key,day,day_of_week,,month,quarter,year)definedimensionitemas(item_key,item__name,brand,,type,,supplier_type)definedimensionbranchas(branch__key,branch_name,branch__type)definedimensionlocationas(location_key,street,city,province__or__state,,country))星型模式式實例

time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationsales事實表time_keyitem_keybranch__keylocation_keyunits_solddollars_solditem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch維表度量實例:使使用DMQL定義雪花花模式definecubesales_snowflake[[time,,item,,branch,location]]:dollars_sold==sum(sales_in_dollars),avg__sales=avg(sales_in_dollars),units_sold==count(*)definedimensiontimeas(time_key,day,day_of_week,,month,quarter,year)definedimensionitemas(item_key,item__name,brand,,type,,supplier(supplier_key,supplier_type))definedimensionbranchas(branch__key,branch_name,branch__type)definedimensionlocationas(location_key,street,city(city_key,province_or_state,country))雪花模式式實例time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationsales事實表time_keyitem_keybranch__keylocation_keyunits_solddollars_solditem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity星型模式式雪花模式式維表規(guī)格格化維表度量實例:使使用DMQL定義事實實星座模模式definecubesales[[time,item,branch,location]::dollars_sold==sum(sales_in_dollars),avg__sales=avg(sales_in_dollars),units_sold==count(*)definedimensiontimeas(time_key,day,day_of_week,,month,quarter,year)definedimensionitemas(item_key,item__name,brand,,type,,supplier_type)definedimensionbranchas(branch__key,branch_name,branch__type)definedimensionlocationas(location_key,street,city,province__or__state,,country)definecubeshipping[[time,item,shipper,from_location,to__location]]:dollar__cost==sum(cost_in_dollars),unit__shipped==count(*)definedimensiontimeastimeincubesalesdefinedimensionitemasitemincubesalesdefinedimensionshipperas(shipper_key,shipper__name,locationaslocationincubesales,shipper_type)definedimensionfrom_locationaslocationincubesalesdefinedimensionto_locationaslocationincubesales事實星座座模式實實例time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationsales事實表time_keyitem_keybranch__keylocation_keyunits_solddollars_solditem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch航運事實實表time_keyitem_keyshipper_keyfrom_locationto_locationdollars_costunits_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper星型/雪花模式式事實模式式多個事實實表共享享維表維表度量2.2..5度量的分分類一個數據據立方體體的度量量是一個個數值函數數,該函數數可以對對數據立立方體的的每一個個點求值值。度量可以以根據其其所用的的聚集函函數分為為三類::分布的::將函數數用于n個聚集值值得到的的結果和和將函數數用于所所有數據據得到的的結果一一樣。比如:count()),sum((),min((),max(()等代數的::函數可可以由一一個帶M個參數的的代數函函數計算算(M為有界整整數),,而每個個參數值值都可以以由一個個分布的的聚集函函數求得得。比如:avg(),min__N(),standard_deviation()整體的::描述函函數的子子聚集所所需的存存儲沒有有一個常常數界。。比如:median((),mode(),rank()2.2..6概念分層層一個概念分層層(concepthierarchy)定義一一個映射射序列,,將低層層概念映映射到更更一般的的高層概概念例如表示示location的概念::杭州浙江中國亞亞洲。概念分層層允許我我們在各各種抽象象級審查查和處理理數據。。概念分層層可以由由系統(tǒng)用用戶、領領域專家家、知識識工程師師人工地地提供,,也可以以根據數數據分布布的統(tǒng)計計分析自自動地產產生。概念分層層:location維的一個個概念分分層allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM.WindL.Chan..................allregionofficecountryTorontoFrankfurtcity許多概念念分層的的定義隱隱含在數數據庫的的模式中中。比如如:location維的定義義,office<<city<country<region;這些屬性性按一一個全序序相關,,形成一一個層次次結構::yeardayquartermonthweek維的屬性性也可以以組成一一個偏序序,形成成一個格格:price屬性上的的概念分分層概念層次次是一個個偏序集集(H,<),其其中,H是概念的的一個有有限集,,<是關關于H的一個偏偏序。年月季度日星期概念分層層——使用概念分層層為不同同級別上上的數據據匯總提提供了一一個良好好的基礎礎綜合概念念分層和和多維數數據模型型的潛力力,可以以對數據據獲得更更深入的的洞察力力通過在多多維數據據模型中中,在不不同的維維上定義義概念分分層,使使得用戶戶在不同同的維上上從不同同的層次次對數據據進行觀觀察成為為可能。。多維數據據模型((數據立立方體))使得從從不同的的角度對對數據進進行觀察察成為可可能,而而概念分分層則提提供了從從不同層層次對數數據進行行觀察的的能力;;結合這這兩者的的特征,,我們可可以在多多維數據據模型上上定義各各種OLAP操作,為為用戶從從不同角角度不同同層次觀觀察數據據提供了了靈活性性。2.2..7多維數據據模型上上的OLAP操作上卷(roll-up):匯總總數據通過一個個維的概概念分層層向上攀攀升或者者通過維維歸約。。當用維歸歸約進行行上卷時時,一個個或多個個維由給給定的數數據立方方體刪除除。示例:OLAP操作-上上卷在location上卷(由由cities到countries匯總)下鉆(drill-down):上卷卷的逆操操作由不太詳詳細的數數據到更更詳細的的數據,,可以通通過沿維維的概念念分層向向下或引引入新的的維來實實現((為給定定數據添添加更多多細節(jié)))。示例:OLAP操作-下下鉆在time下鉆((由quarters到months細化)切片和切切塊(sliceanddice)切片操作作在給定定的數據據立方體體的一個維上進行選選擇,導導致一個個子方切切塊操作作通過對對兩個或或多個維維進行選選擇,定定義子方方。切塊操作作在給定定的數據據立方體體的多個維上進行選選擇,導導致一個個子方切切塊操作作通過對對兩個或或多個維維進行選選擇,定定義子方方。示例:OLAP操作-切切片切片條件件:time==“Q2”示例:OLAP操作-切塊切塊條件件:(location=““Montreal””or“Vancouver””)and(time=“Q1”or““Q2”)and(item=“homeentertainment””or“computer”)轉軸(pivot)立方體的的重定位位,可視視化,或或將一個個3維立方體體轉化為為一個2維平面序序列。轉軸是一一種可視視化操作作,通過過轉動當當前數據據的視圖圖來提供供一個數數據的替替代表示示。示例:OLAP操作-轉轉軸轉軸其他OLAP操作鉆過(drill_across):執(zhí)行行涉及多多個事實實表的查查詢。鉆透(drill_through):使用用關系SQL機制,鉆鉆到數據據立方體體的底層層,到后后端關系系表。其他OLAP操作可能能包括列列出表中中最高或或最低的的N項,以及及計算移移動平均均值、增增長率、、利潤、、統(tǒng)計函函數等等等。2.3數據倉庫庫的系統(tǒng)統(tǒng)結構2.3..1數據倉庫庫的設計計步驟和和結構設計和構構造數據據倉庫、、三層數數據倉庫庫結構。。介紹中小小型數據據倉庫的的一般設設計方法法。數據倉庫庫給商業(yè)業(yè)分析專專家提供供了什么么?通過提供供相關數數據與信信息,獲獲得競爭爭優(yōu)勢。。通過有效效地收集集精確地地描述組組織的數數據,獲獲得生產產力的提提高。通過提供供不同級級別(部部門、市市場、商商業(yè))的的客戶視視圖,協(xié)協(xié)助客戶戶關系管管理。通過追蹤蹤長期趨趨勢、異異常等,,降低成成本。有效構建建數據倉倉庫的關關鍵:理理解和分分析商業(yè)業(yè)需求通過提供供一個商商業(yè)分析析框架,,綜合各各種不同同的數據據使用者者的視圖圖。1.數據倉庫庫設計::一個商商務分析析框架數據倉庫庫設計的的四種視視圖自頂向下下視圖允許我們們選擇數數據倉庫庫所需的的相關信信息。數據源視視圖揭示被操操作數據據庫系統(tǒng)統(tǒng)所捕獲獲、存儲儲和管理理的信息息。數據倉庫庫視圖由事實表表和維表表所組成成。商務查詢詢視圖從最終用用戶的角角度透視視數據倉倉庫中的的數據。。2.數據倉庫庫的設計計過程自頂向下下法、自自底向上上法或者者兩者的的混合方方法自頂向下下法:由由總體設設計和規(guī)規(guī)劃開始始在技術成成熟、商商業(yè)理解解透徹的的情況下下使用。。自底向上上法:以以實驗和和原型開開始常用在模模型和技技術開發(fā)發(fā)的初期期,可以以有效的的對使用用的技術術和模型型進行評評估,降降低風險險。混合方法法:上述述兩者的的結合從軟件工工程的觀觀點瀑布式方方法:在在進行下下一步前前,每一一步都進進行結構構化和系系統(tǒng)的分分析。螺旋式方方法:功功能漸增增的系統(tǒng)統(tǒng)的快速速產生,,相繼版版本之間間間隔很很短。典型的數數據倉庫庫設計過過程選取待建建模的商商務過程程找到所構構建的數數據倉庫庫的主題題,比如如:銷售售、貨運運、訂單單等等。。選取商務務過程的的顆粒度度數據起始始于多細細的顆粒粒度,比比如,記記錄每條條詳細訂訂單,或或是開始始于每日日的匯總總數據。。選取用于于每個事事實表記記錄的維維常用的維維有:時時間、貨貨物、客客戶、供供應商等等。選取將安安放在事事實表中中的度量量常用的數數字度量量包括::售價、、貨物數數量等。。2.3..2三層數據據倉庫架架構數據倉庫庫提取清理轉換裝入刷新OLAP服務器查詢報告告分析數據挖掘掘監(jiān)控、整合元數據存儲數據源前端工具具輸出數據集市市操作數據庫其他外部信息源數據倉庫庫服務器器OLAP服務器底層中中間層前前端端層底層:數數據倉庫庫的數據據庫服務務器關注的問問題:如如何從這這一層提提取數據據來構建建數據倉倉庫(通通過網關關(ODBC,JDBC,,OLE/DB等)來提提取)。。中間層::OLAP服務器關注的問問題:OLAP服務器如如何實施施(關系系型OLAP,多維OLAP等)。前端客戶戶工具層層關注的問問題:查查詢工具具、報表表工具、、分析工工具、挖挖掘工具具等。從體系結結構的角角度去看看,數據據倉庫模模型有以以下三種種:企業(yè)倉庫庫搜集關于于跨越整整個組織織的主題題的所有有信息。。數據集市市企業(yè)范圍圍數據的的一個子子集,對對于特定定的客戶戶是有用用的。其其范圍限限于選定定的主題題,比如如一個商商場的數數據集市市。獨立的數數據集市市VS.非獨立的的數據集集市(數數據來自自于企業(yè)業(yè)數據倉倉庫)。。虛擬倉庫庫操作數據據庫上的的一系列列視圖。。只有一些些可能的的匯總視視圖被物物化。數據倉庫庫開發(fā)上上的困難難自頂向下下的開發(fā)發(fā)方法從從全系統(tǒng)統(tǒng)的角度度提供解解決方案案,使得得(模塊塊)集成成的問題題最??;;但是該該方法十十分昂貴貴,需要要對組織織進行長長期研究究和建模模分析。。自底向上上方法提提供了更更多的開開發(fā)靈活活性,價價格便宜宜;但往往往會遇遇到集成成問題((每個模模塊單獨獨運行都都沒有問問題,但但是一集集成就出出異常))。解決方法法使用遞增增性、演演化性的的開發(fā)方方法高層數據據模型企業(yè)倉庫庫和數據據集市并并行開發(fā)發(fā)通過分布布式模型型集成各各數據集集市多層數據據倉庫。。2.3..3OLAP服務器類類型邏輯上,,OLAP服務器從從數據倉倉庫或數數據集市市中給商商業(yè)用戶戶提供多多維數據據物理上,,OLAP的底層數數據存儲儲實現可可以有多多種不同同的方式式關系OLAP服務器((ROLAP)使用關系系數據庫庫或擴展展的關系系數據庫庫存放并并管理數數據倉庫庫的數據據,而用用OLAP中間件支支持其余余部分。。包括每個個DBMS后端優(yōu)化化,聚集集導航邏邏輯的實實現,附附加的工工具和服服務。較大的可可擴展性性。多維OLAP服務器((MOLAP)基于數組組的多維維存儲引引擎(稀稀疏矩陣陣技術))。能對預計計算的匯匯總數據據快速索索引?;旌螼LAP服務器((HOLAP)結合上述述兩種技技術,更更大的使使用靈活活性。特殊的SQL服務器在星型和和雪花模模型上支支持SQL查詢。2.4數據倉庫庫的實現現數據倉庫庫中的OLAP查詢是一一種海量量數據計計算((想象一一下對過過去10年各地區(qū)區(qū)的軟件件產品銷銷售的匯匯總查詢詢)用戶卻希希望這個個計算能能在數秒秒鐘內完完成解決方法法在于給給出一種種有效的的計算數數據立方方體的方方法匯總的數數據立方方體可以以被看成成是一個個立方體體的格最底層的的立方體體是基本本立方體體最頂端的的立方體體(頂點點)只包包含一個個單元的的值一個n維的數據據立方體體,每維維Li層,可能能產生的的立方體體總數是是多少??2.4..1數據立方方體的有有效計算算1表示原始始數據即即all層編號日期商品地區(qū)數量12011.5.10長虹電視機南京市…122011.5.20美的微波爐上海市…232011.6.2……142011.6.10……252011.7.12……362011.8.18……2……………事實表((可看成成是基本本立方體體):一個立方方體是某某種匯總總的結果果地區(qū)維((上卷到到省市))日期維((上卷到到季度))商品維((上卷到到商品類類別)一個立方方體(3維)立方體是是OLAP的基礎。。例如::對比江蘇蘇和上海海在2010二季度的的日用品品銷售情情況當上述立立方體存存在時,,其計算算過程就就非常快快。(商品))(地區(qū)))()(日期))(地區(qū),商品)(地區(qū),日期)(商品,日期)(地區(qū),商品,日期)當Li=1時(沒有有概念分分層),,T=2n這里有8個立方體體。立方體格格:則立方體體總數T=(4++1)××(3++1)××(2++1)==60個盡管立方方體可以以提高OLAP的效率,,但事先先產生所所有的立立方體是是不現實實的。年月季度日假設日期期:4層假設地區(qū)區(qū):假設商品品:商品大類類商品小類類省市縣3層2層數據立方方體的物物化數據立方方體的物物化可以以有以下下三種選選擇:全物化預先計算算所有立立方體。。對于n維數據立立方體,,可能產產生的立立方體總總數是T=(L1+1)((L2+1)……(Ln+1),Li表示維i的層次數數,例如如,n=10,每維10層,則立立方體總總數約為為9800000個。日用品涉涉及的立立方體例:求2010一季度的的日用品品通常,這這種選擇擇需要海海

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論