錄屏2022上半年dbms原理與設計課件2data warehouse_第1頁
錄屏2022上半年dbms原理與設計課件2data warehouse_第2頁
錄屏2022上半年dbms原理與設計課件2data warehouse_第3頁
錄屏2022上半年dbms原理與設計課件2data warehouse_第4頁
錄屏2022上半年dbms原理與設計課件2data warehouse_第5頁
已閱讀5頁,還剩123頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

DataWarehousingandOLAPTechnology:AnOverviewAmulti-dimensionaldatamodelDatawarehousedesign五月26,20231OLAP的概念最早是由關系數(shù)據(jù)庫之父E.F.Codd于1993年提出的。當時,Codd認為聯(lián)機事務處理已經(jīng)不能滿足終端用戶對數(shù)據(jù)庫數(shù)據(jù)查詢和分析的需要,SQL對大型數(shù)據(jù)庫進行的簡單查詢也不能滿足用戶分析的需求,用戶的決策分析需要對關系數(shù)據(jù)庫進行大量計算才能得到結(jié)果,而簡單的查詢并不能滿足決策者提出的要求。五月26,20232OLAP的定義不同的專家和組織對OLAP賦予了不同的含義。OLAP委員會給出的一個定義:OLAP是使分析人員、管理人員或執(zhí)行人員能夠從多種角度對從原始數(shù)據(jù)中轉(zhuǎn)化出來的、能夠真正為用戶所理解的、并真實反映企業(yè)多維特性的信息進行快速、一致、交互地存取,從而獲得對數(shù)據(jù)的更深入了解的一類軟件技術(shù)。五月26,20233OLAP的特點OLAP是供管理人員使用的一種軟件,物理上要能對用戶提出的各類復雜查詢快速響應,邏輯上要具備多維建模的能力,主要特點有:快速性:用戶對OLAP的快速反應能力有很高的要求,系統(tǒng)應能在很短的時間內(nèi)對用戶的大部分分析要求做出反應??煞治鲂裕篛LAP系統(tǒng)應能處理與應用有關的各種邏輯分析和統(tǒng)計分析。五月26,20234OLAP的特點多維性:系統(tǒng)必須提供對數(shù)據(jù)的多維視圖和分析,包括對維層次和多重維層次的完全支持。及時性:不論數(shù)據(jù)量有多大,也不管數(shù)據(jù)存儲在何處,OLAP系統(tǒng)應能及時獲得信息,并且管理海量信息。五月26,20235OLAP與OLTP的區(qū)別OLAP與OLTP是兩類不同的應用。OLTP是對數(shù)據(jù)庫數(shù)據(jù)的聯(lián)機查詢和增刪改操作,它以數(shù)據(jù)庫為基礎OLAP更適合以數(shù)據(jù)倉庫為基礎的數(shù)據(jù)分析處理OLAP中歷史的、導出的及經(jīng)綜合提煉的數(shù)據(jù)均來自OLTP所依賴的底層數(shù)據(jù)庫。五月26,20236OLAP與OLTP的區(qū)別OLAP數(shù)據(jù)較之OLTP數(shù)據(jù)要多一步數(shù)據(jù)多維化或預綜合處理的操作。例如,對一些統(tǒng)計數(shù)據(jù),首先進行預綜合處理,建立不同粒度,不同級別的統(tǒng)計數(shù)據(jù),從而使其能滿足快速數(shù)據(jù)分析和查詢的要求。五月26,20237OLAP與OLTP的區(qū)別除了數(shù)據(jù)及處理上的不同之外,OLAP的前端產(chǎn)品的界面風格及數(shù)據(jù)訪問方式也與OLTP不同OLAP大多采用非數(shù)據(jù)處理專業(yè)人員容易理解的方式(如多維報表、統(tǒng)計圖形),查詢及數(shù)據(jù)顯示直觀靈活,用戶可以方便地進行逐層細化及切片、切塊、數(shù)據(jù)旋轉(zhuǎn)等操作OLTP大多使用操作人員常用的固定表格,查詢及數(shù)據(jù)顯示也比較固定、規(guī)范。五月26,20238OLAP的核心技術(shù)多維數(shù)據(jù)模型多維分析操作多維查詢及展示數(shù)據(jù)方體技術(shù)五月26,20239多維數(shù)據(jù)模型數(shù)據(jù)分析時用戶的數(shù)據(jù)視圖,是面向分析的數(shù)據(jù)模型,用于給分析人員提供多種觀察的視角和面向分析的操作。多維數(shù)據(jù)模型是數(shù)據(jù)倉庫和聯(lián)機分析處理技術(shù)的基礎。多維數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)可以用這樣的一個多維數(shù)組來表示:(維1,維2,…,維n;度量1,度量2,…,度量m),五月26,202310多維數(shù)據(jù)模型直觀的講,多維數(shù)據(jù)模型是一個多維空間,維表示用戶的觀察對象,多維空間中的點表示度量的值。OLAP采用了多維數(shù)據(jù)模型。五月26,202311多維數(shù)據(jù)模型與關系數(shù)據(jù)模型不同,多維數(shù)據(jù)模型是隨著OLAP產(chǎn)品的流行而出現(xiàn)的,因此,缺乏堅實的理論基礎,目前還沒有統(tǒng)一的多維數(shù)據(jù)模型。理論界從不同的方面提出了一些模型,主要有:用關系模型表示多維數(shù)據(jù)模型把多維數(shù)據(jù)模型形式化為多維空間五月26,202312多維數(shù)據(jù)模型多維數(shù)據(jù)模型的核心概念:維維成員維層維層次度量五月26,202313維維是人們觀察數(shù)據(jù)的特定角度,是某個事物的屬性。例如,在分析產(chǎn)品銷售數(shù)據(jù)時,涉及到時間、產(chǎn)品、地區(qū)。因為企業(yè)需要從時間的角度來觀察產(chǎn)品的銷售,觀察隨著時間推移而產(chǎn)生的變化情況,查看在某個時間或某個時間段產(chǎn)品的銷售量,所以時間就是一個維(時間維)。企業(yè)也時常關心自己的產(chǎn)品在不同的地區(qū)的銷售分布情況,這時他是從地理分布的角度來觀察產(chǎn)品的銷售,所以地理分布也是一個維(地區(qū)維)。當然,更關心某個具體的產(chǎn)品的銷售情況,產(chǎn)品也是一個維。維是商業(yè)活動中的一個基本要素。每個維都有一個唯一的名字,如時間維、地區(qū)維、產(chǎn)品維等。五月26,202314維成員(Member)維由一些維成員構(gòu)成。維的一個取值稱為維的一個成員,每個成員有一個名字,還可以有若干的屬性來描述成員的特征。如果一個維是多層的,那么該維的維成員是在不同維層上的取值的組合。例如,假設時間維具有日、月、年三個層。則分別在日、月、年上各取一個值組合起來,就得到了時間維的一個維成員,如"2008年8月8日"。一個維成員并不一定在每個維層上都要取值,例如,"2008年5月"、"10月1日"、"2008年"等都是時間維的維成員。五月26,202315維層(Level)人們觀察數(shù)據(jù)時,除了要從某一個角度去觀察外,還需要從不同的細節(jié)程度去觀察。稱這些不同的細節(jié)程度為不同的維層。例如,對于時間維,日、月、季度、年是不同的細節(jié)。需要知道每天的商品銷售量,也需要知道每月、每季度、每年的商品銷售量。那么日、月、季度、年等就是時間維的維層同樣,商店、城市、地區(qū)、國家,總部等構(gòu)成了地區(qū)維的多個維層維層描述現(xiàn)實中的細節(jié)程度、抽象級別,每個層都有一個名字,層之間一般存在由抽象級別決定的關系五月26,202316維層成員層除了名字外,還有成員。例如,地區(qū)維中有商店、城市、地區(qū)、國家,總部五個層。在“城市”層,有成員“北京”、“上海”、“濟南”、“芝加哥”、“洛杉磯”等。在“國家”層,有“中國”、“美國”等。因此,維層實際上是對維成員的一種組織分類方法五月26,202317五月26,202318維層次(Hierarchy)維層是一種分類方法。在一個維中可以有多種分類方法,每種分類方法叫做一個層次.例如:時間維,除了可以按年、季度、月、日分層外,還可以按年、星期、日分層,因此有兩個層次。對于產(chǎn)品,客戶分析員喜歡按產(chǎn)品、類型、種類來分析,股票分析員喜歡按產(chǎn)品、制造商、母公司來分析。為了滿足分析的需要,產(chǎn)品維需要設置兩個層次。五月26,202319五月26,202320維層次storesTypecityregion維屬性維屬性說明維成員所具有的特征。維屬性可以在每個維成員上定義,也可以在維層上定義。在維層上定義屬性意味著維層中的每個維成員都具有該屬性。例如:可以在地區(qū)維的商店這一個層上定義“負責人”、“開業(yè)時間”、“商店類型”等屬性也可以在城市這個層上定義“人口”、“面積”等屬性。五月26,202321度量要分析的目標或?qū)ο蟪R姷亩攘?銷售量供應量利潤度量一般有名字、數(shù)據(jù)類型、單位、計算公式等屬性五月26,202322度量度量有輸入度量和導出度量之分,前者的值從業(yè)務處理活動中獲取,后者需要經(jīng)過計算得到。例如銷售量是輸入度量利潤是導出度量。度量還可以分為可累計型和不可累計型不可累計型的度量不能沿時間維做聚集運算例如,庫存量就屬于不可累計型度量,不能把一年12個月的庫存量累加起來作為全年的庫存量。五月26,202323維表維表描述一個維所需要的全部信息。屬性有三種:主碼、層屬性、特征屬性主碼唯一地標識一行,每個最底層的成員要在維表中有一行,同其它的屬性一起表示成員關系圖中從最底層成員到最高層成員的一條路徑層屬性表示一個層的名稱,其值是層中成員的集合,有一個層就要有一個層屬性特征屬性描述了成員的特征維表是一個反規(guī)范化的表,通過函數(shù)依賴表示層之間的抽象程度,表達層次。五月26,202324維表商店ID商店名稱商店負責人經(jīng)營面積城市城市人口地區(qū)國家1海淀1店張明100北京1000華北中國2海淀2店李海林86北京1000華北中國…685歷下1店王兆文90濟南300華東中國五月26,202325維表商店ID是主碼,它唯一地標識一個商店。商店名稱、城市、地區(qū)、國家是層屬性,在這些屬性上的投影是層中的成員集合,例如,城市列中是所有的城市成員。商店負責人、經(jīng)營面積、城市人口是特征屬性。五月26,202326維表顯然,維表中存在大量的冗余數(shù)據(jù)如果對維表進行規(guī)范化處理,那么表示一個維就需要多個關系表,星型模型也改變成雪片模型對上例的維表進行規(guī)范化處理可以得到四個關系表(商店ID,商店名稱,經(jīng)營面積,城市ID)(城市ID,城市,城市人口,地區(qū)ID)(地區(qū)ID,地區(qū),國家ID)(國家ID,國家)五月26,202327維表規(guī)范化后消除了數(shù)據(jù)冗余,但是,對維的操作要涉及很多連接運算,計算代價很高對OLAP來說,響應速度至關重要,因此,一般不對維表進行規(guī)范化處理,允許冗余,以空間換時間五月26,202328維表與事實表相比,維表中的記錄數(shù)較少。一般,少的可能只有幾百行,多的會達到百萬級。維表中存放的是描述信息,大多為文字資料。維表中的信息可以修改。五月26,202329事實表事實表的屬性分為兩類:主碼和度量。主碼是一個復合碼,每個分量是維表的主碼。多維數(shù)據(jù)模型中的度量都作為一個屬性出現(xiàn)在事實表中,一般都是數(shù)值型的量。五月26,202330事實表時間ID商店ID產(chǎn)品ID

銷售量111300121450131360112400123130232200五月26,202331事實表前三列分別是時間維、商店維和產(chǎn)品維的關鍵字,最后一列是度量。表中的每條記錄表示一條事實,即在某時、某地,某種產(chǎn)品的銷售量。事實表中的量都是數(shù)值型的量,特別的,時間維也是數(shù)字,它是對時間的一個編號,即使跨越十年的時間,也不過3600多天,兩個字節(jié)就足夠了。五月26,202332事實表事實表用數(shù)字作為維關鍵字,可以加快連接操作。

因此,星型模型把大量的描述性的文字信息存放在維表,而在事實表中只存放數(shù)字型的信息,可以大大減少存儲量,加快處理速度。五月26,202333事實表事實上,事實表是十分龐大的,記錄數(shù)多,度量列多想象一下一個大型連鎖店十年來在上百個商店,對上萬種商品的銷售記錄數(shù)另外,在實際的分析過程中,需要用到很多的輸入度量和導出度量,事實表中的度量列也相當?shù)亩?。五?6,202334數(shù)據(jù)方體多維數(shù)據(jù)模型構(gòu)成的多維數(shù)據(jù)空間稱作數(shù)據(jù)方體(DataCube,簡記為Cube),也稱為數(shù)據(jù)立方體,超級立方體,多維超方體等一個數(shù)據(jù)方體由多個維和度量組成盡管最直觀的數(shù)據(jù)方體是3維的結(jié)構(gòu),實際上它可以是n維的雖然從邏輯上看數(shù)據(jù)方體是用多維方式表達的,但實際的物理存儲方式未必是多維存儲方式,可以用任意的方式存儲。五月26,202335五月26,202336FromTablestoDataCubesAdatacube,suchassales,allowsdatatobemodeledandviewedinmultipledimensionsDimensiontables,suchasitem(item_name,brand,type),ortime(day,week,month,quarter,year)Facttablecontainsmeasures(suchasdollars_sold)andkeystoeachoftherelateddimensiontablesIndatawarehousingliterature,ann-Dbasecubeiscalledabasecuboid.Thetopmost0-Dcuboid,whichholdsthehighest-levelofsummarization,iscalledtheapexcuboid.Thelatticeofcuboidsformsadatacube.五月26,202337Cube:ALatticeofCuboidstime,itemtime,item,locationtime,item,location,supplieralltimeitemlocationsuppliertime,locationtime,supplieritem,locationitem,supplierlocation,suppliertime,item,suppliertime,location,supplieritem,location,supplier0-D(apex)cuboid1-Dcuboids2-Dcuboids3-Dcuboids4-D(base)cuboid數(shù)據(jù)單元數(shù)據(jù)方體以維為數(shù)軸。在一個數(shù)據(jù)方體中,當每個維上都確定了一個維成員時,就會唯一地確定多維空間中的一個點。我們把這個點稱作一個數(shù)據(jù)單元(Cell)。五月26,202338五月26,202339ConceptualModelingofDataWarehousesModelingdatawarehouses:dimensions&measuresStarschema:AfacttableinthemiddleconnectedtoasetofdimensiontablesSnowflakeschema:Arefinementofstarschemawheresomedimensionalhierarchyisnormalizedintoasetofsmallerdimensiontables,formingashapesimilartosnowflakeFactconstellations:Multiplefacttablessharedimensiontables,viewedasacollectionofstars,thereforecalledgalaxyschemaorfactconstellation

常見的多維數(shù)據(jù)模型星型模型雪片模型事實群模型五月26,202340星型模型是多維數(shù)據(jù)模型的基本結(jié)構(gòu),通常由一個很大的中心表和一組較小的表組成大的中心表通常被稱為事實(fact)表。事實表用來存儲事實的度量值及各個維的碼值與事實表相連接的周圍的那組小的表通常被稱為維表。維表用來保存維的信息,即每個維成員的信息,包括維的屬性信息和維的層次信息等事實表通過所存儲的每個維表的碼值和每一個維表聯(lián)系在一起五月26,202341五月26,202342星型模型

time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationSalesFactTable

time_key

item_key

branch_key

location_key

units_sold

dollars_sold

avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch星型模型星型模型不支持維的層結(jié)構(gòu)。每個維只有一個維表,實現(xiàn)時將所有的維層屬性存放在這一個表中,沒有進行規(guī)范化。因為要表示所有的層,每個層有自己的屬性,所以有很多冗余。五月26,202343星型模型當不同的維層有相同的屬性時,只能用換名的方法,但這會影響到一些查詢。例如商店->城市->地區(qū)->國家->總部層次確定了商店的隸屬關系,如果在每一層上都有一個manager屬性,查詢manager=“JoneSmith”的結(jié)果應該是所有的叫“JoneSmith”的經(jīng)理,而不論他是哪一級的經(jīng)理。五月26,202344星型模型對于維內(nèi)層次比較復雜的維,為了避免冗余數(shù)據(jù)占用過大的空間,同時也為了支持針對不同層上的相同屬性的查詢,可以用多張表來描述一個復雜維。比如,產(chǎn)品維可以進一步劃分為商標表、類型表等,這樣在“星”的角上又出現(xiàn)了分支,這種變種的星型模型被稱之為“雪片模型”。五月26,202345雪片模型雪片模型,也稱雪花模型,是對維表進行規(guī)范化后形成的五月26,202346五月26,202347雪片模型time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationSalesFactTable

time_key

item_key

branch_key

location_key

units_sold

dollars_sold

avg_salesMeasuresitem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity雪片模型星型模型和雪片模型的主要區(qū)別在于雪片模型中的維表是規(guī)范化的,這樣的維表不但易于維護而且節(jié)省存儲空間。例如,在商店->城市->地區(qū)->國家->總部這個維層次中,如果在每一層上都有一個manager屬性的話,我們只需要在相應的表上存儲當前層的manager屬性值就可以了,而不需要在同一個表里存儲所有層上的manager屬性值。五月26,202348雪片模型但是,雪片模型的這種結(jié)構(gòu)在執(zhí)行查詢時需要進行較多的連接操作,可能影響系統(tǒng)的性能。例如,假如想查詢某個地區(qū)下屬的所有商店的manager時,需要將地區(qū)表、城市表和商店表進行連接操作。五月26,202349雪片模型折衷的解決方式是將星型模型和雪片模型結(jié)合起來使用。對大的維表進行規(guī)范化以節(jié)省存儲空間對小的維表仍然采用星型模型中的不規(guī)范形式,以避免由于多表連接引起的性能衰減雪片模型更好地體現(xiàn)了維的層結(jié)構(gòu),對于數(shù)據(jù)庫建模和設計人員來說,它非常容易理解和進行維分析。但對于一般用戶來說,與星型模型相比,它相對比較復雜。五月26,202350事實群模型在某些復雜的應用中,可能需要多個事實表來共享維表,這種模型類似于星型模型的集合,被稱為星系模型或事實群模型五月26,202351五月26,202352事實群模型time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationSalesFactTabletime_key

item_key

branch_key

location_key

units_sold

dollars_sold

avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranchShippingFactTabletime_key

item_key

shipper_key

from_location

to_location

dollars_cost

units_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper多維分析的基礎:聚集聚集是對細節(jié)數(shù)據(jù)進行綜合的過程,是多維分析的基礎。最常用的5種聚集函數(shù)是:求和(sum),計數(shù)(count),求最大值(max),求最小值(min),求平均(average)。聚集函數(shù)還有求中間值(median)、排序(rank)等五月26,202353數(shù)據(jù)方體中的三類聚集函數(shù)1)分布型(distributive)聚集函數(shù)2)代數(shù)型(algebraic)聚集函數(shù)3)整體型(holistic)聚集函數(shù)五月26,202354分布型(distributive)聚集函數(shù)將數(shù)據(jù)分成n份,對其中的每一份應用該函數(shù),可以得到n個聚集值,對這n個聚集值進行計算得到的結(jié)果如果和整個數(shù)據(jù)(不劃分)應用該函數(shù)得出的結(jié)果一致的話,則說該函數(shù)是分布型的例如,使用count函數(shù)進行數(shù)據(jù)方體聚集計算時,可以先將數(shù)據(jù)劃分為若干份,對每份應用count函數(shù)后再將所有的結(jié)果值相加得到最終結(jié)果同理,sum、min、max也是分布型聚集函數(shù)。分布型聚集函數(shù)具有可以累計的特性。五月26,202355代數(shù)型(algebraic)聚集函數(shù)如果一個函數(shù)可以由若干個分布型函數(shù)進行代數(shù)運算得出,則說該函數(shù)是代數(shù)型的例如,avg可以通過sum/count得出,而其中的sum和count都是分布型函數(shù),因此我們說avg是代數(shù)型函數(shù)類似的,求最小的N個數(shù)所用的min_N函數(shù),求最大的N個數(shù)所用的函數(shù)max_N,求標準方差的函數(shù)standard_deviation等都是代數(shù)型函數(shù).代數(shù)型函數(shù)的典型特征是可以轉(zhuǎn)化為分布型函數(shù)。五月26,202356整體型(holistic)聚集函數(shù)如果一個函數(shù)不能由其他的函數(shù)進行代數(shù)運算得出,則說該函數(shù)是整體型的例如,median,rank等這類函數(shù)在計算的時候需要同時用到所有的數(shù)據(jù),需要消耗較多的資源,具有較大的計算代價五月26,202357五月26,202358AConceptHierarchy:Dimension(location)allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM.WindL.Chan..................allregionofficecountryTorontoFrankfurtcity五月26,202359ViewofWarehousesandHierarchiesSpecificationofhierarchiesSchemahierarchyday<{month<quarter;week}<yearSet_groupinghierarchy{1..10}<inexpensive五月26,202360多維模型Facttableview:Multi-dimensionalcube:dimensions=2五月26,2023613-DCubeday2day1dimensions=3Multi-dimensionalcube:Facttableview:五月26,202362一個例子Salesvolumeasafunctionofproduct,month,andregionProductRegionMonthDimensions:Product,Location,TimeHierarchicalsummarizationpathsIndustryRegionYearCategoryCountryQuarterProductCityMonthWeekOfficeDay五月26,202363AnExtendedDataCubeTotalannualsalesofTVinChina.DateProductCountryAll,All,Allsumsum

TVVCRPC1Qtr2Qtr3Qtr4QtrChinaJapanUSAsum五月26,202364BrowsingaDataCubeVisualizationOLAPcapabilitiesInteractivemanipulation五月26,202365五月26,202366TypicalOLAPOperationsRollup(drill-up):summarizedatabyclimbinguphierarchyorbydimensionreductionDrilldown(rolldown):reverseofroll-upfromhigherlevelsummarytolowerlevelsummaryordetaileddata,orintroducingnewdimensionsSliceanddice:

projectandselect

Pivot(rotate):

reorientthecube,visualization,3Dtoseriesof2DplanesOtheroperationsdrillacross:involving(across)morethanonefacttabledrillthrough:throughthebottomlevelofthecubetoitsback-endrelationaltables(usingSQL)五月26,202367多維分析操作建立在關系聚集操作上的一組復合操作是面向用戶的操作切片(slice)&切塊(dice)向上鉆取(roll-up),向下鉆取(drilldown)旋轉(zhuǎn)(pivoting)

五月26,202368多維分析的基礎:聚集基本的分析是求聚集函數(shù)(aggregation)例:求第一天的銷售總額InSQL:SELECTsum(amt)FROMSALEWHEREdate=181五月26,202369多維分析的基礎:聚集例:按照每天求銷售總額InSQL:SELECTdate,sum(amt)FROMSALEGROUPBYdate五月26,202370多維分析的基礎:聚集例:按照每天和產(chǎn)品求銷售總額InSQL:SELECTdate,sum(amt)FROMSALEGROUPBYdate,prodIddrill-downrollup五月26,202371多維分析的基礎:聚集5個標準聚集函數(shù): sum,count,max,min, ave在groupby的基礎上還可以使用 “Having”clause可以在維層次上做聚集averagebyregion(withinstore)maximumbymonth(withindate)五月26,202372切片/切塊操作實質(zhì)上對應于where/having子句day1切片五月26,202373鉆取操作鉆取操作就是在不同粒度表之間的切換drill-downrollup五月26,202374鉆取操作day1day2129...sale(c1,*,*)sale(*,*,*)sale(c2,p2,*)drill-downrollup五月26,202375

時間維產(chǎn)品維產(chǎn)品維時間維行列交換

:旋轉(zhuǎn)操作五月26,202376

地區(qū)維時間維產(chǎn)品維產(chǎn)品維時間維地區(qū)維旋轉(zhuǎn)以改變頁面顯示

2多維分析的基本分析動作旋轉(zhuǎn)操作五月26,202377DataWarehouse:AMulti-TieredArchitectureDataWarehouseExtractTransformLoadRefreshOLAPEngineAnalysisQueryReportsDataminingMonitor&IntegratorMetadataDataSourcesFront-EndToolsServeDataMartsOperationalDBsOthersourcesDataStorageOLAPServer五月26,202378數(shù)據(jù)倉庫的體系結(jié)構(gòu)數(shù)據(jù)倉庫系統(tǒng)由如下幾部分組成:數(shù)據(jù)倉庫的后臺工具數(shù)據(jù)倉庫服務器OLAP服務器前臺工具五月26,202379數(shù)據(jù)倉庫的體系結(jié)構(gòu)數(shù)據(jù)倉庫的后臺工具,包括數(shù)據(jù)抽取、清洗、轉(zhuǎn)換、裝載和維護工具功能:負責把企業(yè)或組織中各部門的操作型數(shù)據(jù)進行轉(zhuǎn)換,裝載到數(shù)據(jù)倉庫系統(tǒng)中,同時維護數(shù)據(jù)倉庫和操作型數(shù)據(jù)源數(shù)據(jù)的一致性。五月26,202380數(shù)據(jù)倉庫的體系結(jié)構(gòu)數(shù)據(jù)倉庫服務器一般是關系DBMS或擴展的關系DBMS。OLAP服務器透明地為用戶提供多維數(shù)據(jù),用戶不必關心數(shù)據(jù)到底存儲在什么地方。但物理上必須考慮數(shù)據(jù)存儲問題。五月26,202381DataWarehouseBack-EndToolsandUtilitiesDataextractiongetdatafrommultiple,heterogeneous,andexternalsourcesDatacleaningdetecterrorsinthedataandrectifythemwhenpossibleDatatransformationconvertdatafromlegacyorhostformattowarehouseformatLoadsort,summarize,consolidate,computeviews,checkintegrity,andbuildindiciesandpartitionsRefreshpropagatetheupdatesfromthedatasourcestothewarehouse五月26,202382OLAPServerArchitecturesRelationalOLAP(ROLAP)Userelationalorextended-relationalDBMStostoreandmanagewarehousedataandOLAPmiddlewareIncludeoptimizationofDBMSbackend,implementationofaggregationnavigationlogic,andadditionaltoolsandservicesGreaterscalabilityMultidimensionalOLAP(MOLAP)Sparsearray-basedmultidimensionalstorageengineFastindexingtoputedsummarizeddataHybridOLAP(HOLAP)Flexibility,e.g.,lowlevel:relational,high-level:arraySpecializedSQLserversSpecializedsupportforSQLqueriesoverstar/snowflakeschemas五月26,202383ROLAP結(jié)構(gòu)采用關系DBMS或擴展的關系DBMS來存儲和管理數(shù)據(jù)用OLAP服務器做其他剩余的事情,例如聚集計算,查詢優(yōu)化等。Microstrategy公司的DSS服務器和Infomix的Metacube均采用ROLAP結(jié)構(gòu)。各種粒度的數(shù)據(jù)均以關系表的形式存儲在數(shù)據(jù)倉庫中。五月26,202384MOLAP結(jié)構(gòu)采用多維數(shù)組來存儲數(shù)據(jù)Arbor公司的Essbase采用的就是MOLAP結(jié)構(gòu)。多維數(shù)組存儲的優(yōu)點是可以對數(shù)據(jù)進行直接定位,不需要索引但在數(shù)據(jù)稀疏的情況需要進行數(shù)據(jù)壓縮。五月26,202385HOLAP結(jié)構(gòu)將ROLAP和MOLAP結(jié)合起來,既利用了ROLAP可擴展性好的優(yōu)點,也利用了MOLAP計算速度快的優(yōu)點。例如,可以將細節(jié)數(shù)據(jù)存在關系數(shù)據(jù)庫中,而將綜合數(shù)據(jù)存在MOLAP服務器中。微軟的SQLServer7.0采用的就是這種結(jié)構(gòu)。五月26,202386特殊SQL服務器為了滿足日益增長的OLAP處理的需求,一些關系數(shù)據(jù)庫或數(shù)據(jù)倉庫廠商(如IBMRedBrick)對原來的系統(tǒng)進行了擴展,為只讀環(huán)境下在星星模型基礎上進行SQL查詢提供支持。五月26,202387MetadataRepositoryMetadataisthedatadefiningwarehouseobjects.Itstores:Descriptionofthestructureofthewarehouseschema,view,dimensions,hierarchies,deriveddatadefn,datamartlocationsandcontentsOperationalmeta-datadatalineage(historyofmigrateddataandtransformationpath),currencyofdata(active,archived,orpurged),monitoringinformation(warehouseusagestatistics,errorreports,audittrails)ThealgorithmsusedforsummarizationThemappingfromoperationalenvironmenttothedatawarehouseDatarelatedtosystemperformancewarehouseschema,viewandderiveddatadefinitionsBusinessdatabusinesstermsanddefinitions,ownershipofdata,chargingpolicies五月26,202388DataWarehousingandOLAPTechnology:AnOverviewAmulti-dimensionaldatamodelDatawarehousedesign五月26,202389DesignofDataWarehouse:ABusinessAnalysisFrameworkFourviewsregardingthedesignofadatawarehouseTop-downviewallowsselectionoftherelevantinformationnecessaryforthedatawarehouseDatasourceviewexposestheinformationbeingcaptured,stored,andmanagedbyoperationalsystemsDatawarehouseviewconsistsoffacttablesanddimensiontablesBusinessqueryview

seestheperspectivesofdatainthewarehousefromtheviewofend-user五月26,202390DataWarehouseDesignProcessTop-down,bottom-upapproachesoracombinationofbothTop-down:Startswithoveralldesignandplanning(mature)Bottom-up:Startswithexperimentsandprototypes(rapid)FromsoftwareengineeringpointofviewWaterfall:structuredandsystematicanalysisateachstepbeforeproceedingtothenextSpiral:rapidgenerationofincreasinglyfunctionalsystems,shortturnaroundtime,quickturnaroundTypicaldatawarehousedesignprocessChooseabusinessprocesstomodel,e.g.,orders,invoices,etc.Choosethegrain(atomiclevelofdata)ofthebusinessprocessChoosethedimensionsthatwillapplytoeachfacttablerecordChoosethemeasurethatwillpopulateeachfacttablerecord五月26,202391

與數(shù)據(jù)庫設計的不同操作型環(huán)境系統(tǒng)的設計一般采取系統(tǒng)生命周期法:(SDLC-SystemsDevelopmentLifeCycle)數(shù)據(jù)倉庫的設計方法:CLDS方法(與SDLC相反)數(shù)據(jù)倉庫的設計方法五月26,202392

應用B應用A應用CSDLC外部數(shù)據(jù)DBDB數(shù)據(jù)獲取集成構(gòu)建數(shù)據(jù)倉庫DSS應用編程系統(tǒng)測試理解需求數(shù)據(jù)倉庫建模CLDS收集應用需求分析應用需求構(gòu)建數(shù)據(jù)庫應用編程系統(tǒng)測試系統(tǒng)實施DBDW

SDLC與CLDS方法比較五月26,202393

數(shù)據(jù)倉庫的三級數(shù)據(jù)模型與數(shù)據(jù)庫的區(qū)別:1 數(shù)據(jù)倉庫的數(shù)據(jù)模型中不包含純操作型的數(shù)據(jù)2 數(shù)據(jù)倉庫的數(shù)據(jù)模型擴充了碼結(jié)構(gòu),增加了時間屬性作為碼的一部分3 數(shù)據(jù)倉庫的數(shù)據(jù)模型中增加了一些導出數(shù)據(jù)數(shù)據(jù)倉庫設計的三級數(shù)據(jù)模型

五月26,202394數(shù)據(jù)倉庫設計的三級數(shù)據(jù)模型上述三點差別也就是操作型環(huán)境中的數(shù)據(jù)與數(shù)據(jù)倉庫中的數(shù)據(jù)之間的差別,同樣是數(shù)據(jù)倉庫為面向數(shù)據(jù)分析處理所要求的。雖然存在著這樣的差別,在數(shù)據(jù)倉庫設計中,仍然存在著三級數(shù)據(jù)模型,即:概念模型邏輯模型物理模型

五月26,202395

概念模型

現(xiàn)實世界信息世界:概念模型

機器世界:邏輯模型、物理模型

認識抽象五月26,202396

概念模型常用的表示方法:E-R方法(實體-聯(lián)系方法)

描述工具:E—R圖1.

長方形表示實體,數(shù)據(jù)倉庫中表示主題,框內(nèi)寫上主題名2.

橢圓形表示主題的屬性無向邊把主題與其屬性連接起來3.

菱形表示主題之間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系的名字無向邊把菱形分別與有關的主題連接無向邊旁標上聯(lián)系的類型若聯(lián)系也有屬性用無向邊連接屬性和菱形概念模型

五月26,202397

在RDBMS中:關系模型主題以及主題之間的聯(lián)系都用關系來表示關系模型的基本概念: 關系一個二維表; 元組表中的一行稱為一個元組; 屬性表中的一列稱為屬性,給每一列起一個名稱即屬性名 主碼表中的某個屬性組,它們的值唯一地標識一個元組域?qū)傩缘娜≈捣秶至吭M中的一個屬性組 關系模式對關系的描述關系名(屬性名1,屬性名2,…,屬性名n)邏輯模型五月26,202398

數(shù)據(jù)倉庫的物理模型:是邏輯模型在數(shù)據(jù)倉庫中的實現(xiàn),如:物理存取方式數(shù)據(jù)存儲結(jié)構(gòu)數(shù)據(jù)存放位置存儲分配等等物理模型

五月26,202399

物理模型設計考慮的主要因素:

I/O存取時間空間利用率

維護代價物理模型

五月26,2023100物理模型設計時需要考慮如何提高性能:數(shù)據(jù)量很大,涉及大規(guī)模數(shù)據(jù)的查詢主要是要提高系統(tǒng)的I/O性能應盡量減少每次查詢處理要求的I/O次數(shù)使每次I/O能返回盡量多的記錄。物理模型

五月26,2023101

由于數(shù)據(jù)倉庫的數(shù)據(jù)極少甚至不再更新,

可采取如下技術(shù)來提高數(shù)據(jù)倉庫的性能:

1 合并表

2 建立數(shù)據(jù)序列

3 引入冗余

4 進一步細分數(shù)據(jù)

5 生成導出數(shù)據(jù)

6 建立廣義索引

7 粒度劃分

8 分割

物理模型

五月26,2023102

在數(shù)據(jù)倉庫中,往往存在一些例行的分析處理,它們要求的查詢也是例行的、相對固定的。當某一例行的查詢涉及固定的多個表的數(shù)據(jù)項,那么就需要首先對這幾個表進行連接操作,如果這幾個表的記錄分散存放在幾個物理塊中時,多個表的存取和連接操作的代價會很大。為了節(jié)省I/O開銷,可以把這些表的記錄混合存放在一起,就可以降低表連接操作的代價。

1.合并表五月26,2023103

學生姓名SN所屬系名SD學生年齡SA

S1

ACS20

S2

BCS21

S3

CMA19

S4

DCI19

S5

EMA20學好#s學號

S#課程號

C#學習成績

G

S1

C1

A

S1

C2

B

S1

C3

C

S1

C5

C

S2

C1

A

S2

C2

A

S2

C4

A

S3

C2

B

S3

C4

D

S4

C3

C

S4

C5

B

S5

C1

B

S5

C3

A

S5

C4

AS1ACS20S1C1AS1C2BS1C3CS1C5CS2BCS21S2C1AS2C2AS3C4DS4DCI19S4C3A…………………………………………SC表記錄S表記錄學生選課表SC合并合并表1.合并表五月26,2023104

重復調(diào)頁頁面1(記錄1)頁面n(記錄2)頁面1(記錄3)頁面2(記錄4)

1

12

n

51

2

n12

35667721142345476322.建立數(shù)據(jù)序列五月26,2023105數(shù)據(jù)序列:將數(shù)據(jù)嚴格按照處理順序存放在一個或多個連續(xù)的物理塊中,這樣就可以在同一次調(diào)頁中處理更多的記錄,將物理I/O次數(shù)降到最低。五月26,2023106

數(shù)據(jù)分析處理通常要涉及不同表的多個屬性,一些表的某些屬性可能在許多地方都要用到

如果這些屬性上的值不常更新,則將這些屬性復制到多個主題中,從而減少處理時被存取的表的個數(shù)。

3.引入冗余五月26,2023107

例:在商場DW中,在“商品”主題中有一個保存商品固定信息的關系表:

商品(商品號、商品名、類別、…), 而在商品銷售表或采購表中則只存商品號。 但幾乎沒有人問: “×××號商品的銷售情況如何?”

而經(jīng)常問: “某品牌的冰箱的銷售可好?”或“今年什么類型的洗衣機最暢銷?”

這類問題以商品的一些具體描述信息作為分析的限定條件,且涉及的有關銷售的數(shù)據(jù)量又很大,這樣就不得不反復存取商品表,與大量的銷售表記錄進行連接或半連接操作。 如果將商品表的一些特定屬性加入到銷售表或采購表中,即增加數(shù)據(jù)冗余,就可以省去這一步連接操作,減少訪問的代價。3.引入冗余五月26,2023108

邏輯分割:將一個表按照一定的分割標準劃分成兩個或多個表。 物理分割:根據(jù)表中各屬性的存取頻率分成兩個或多個表,將具有相似訪問頻率的屬性存放在一起,使得每次訪問的效率較高。4.表的物理分割五月26,2023109

導出數(shù)據(jù):原始數(shù)據(jù)上進行匯總或計算的結(jié)果預處理,提高聯(lián)機分析速度更高級別的公用數(shù)據(jù),免去不同用戶重復計算

5.生成導出數(shù)據(jù)五月26,2023110

廣義索引: 用來記錄具有某些特殊性質(zhì)數(shù)據(jù)的索引 比如最值,top-k值等 特點:非常小,大大提高查詢效率 例:記錄當月銷售最糟糕的10種商品的名稱的索引

6.建立廣義索引五月26,2023111

建立

“廣義索引”:抽取數(shù)據(jù)并向數(shù)據(jù)倉庫中裝載時建立每次數(shù)據(jù)倉庫裝載時,重新生成“廣義索引”的內(nèi)容不要為了建立“廣義索引”而去掃描數(shù)據(jù)倉庫管理“廣義索引”:元數(shù)據(jù)中完整地定義

“廣義索引”

說明6.建立廣義索引五月26,2023112

粒度劃分的決定性因素:

總的行數(shù)不是總的數(shù)據(jù)量劃分粒度步驟:

1.估算數(shù)據(jù)的行數(shù)和所需的DASD數(shù)(directaccessstoragedevice); 2.根據(jù)估算出的行數(shù)和DASD,決定是否要劃分粒度,如何劃分粒度

7.粒度劃分五月26,2023113

對每一已知表: 計算一行所占字節(jié)數(shù)的 最大值 最小值對一年內(nèi):統(tǒng)計可能出現(xiàn)的數(shù)據(jù)行數(shù)的 最大行數(shù)、 最小行數(shù)對五年內(nèi): 統(tǒng)計可能出現(xiàn)的數(shù)據(jù)行數(shù)的 最大行數(shù)、 最小行數(shù)7.粒度劃分五月26,2023114

計算每個表的碼所占的字節(jié)數(shù):一年產(chǎn)生的數(shù)據(jù)可能占用的最大空間=最大值×一年內(nèi)最大行數(shù)+索引空間一年產(chǎn)生的數(shù)據(jù)可能占用的最小空間=最小值×一年內(nèi)最小行數(shù)+索引空間五年產(chǎn)生的數(shù)據(jù)可能占用的最大空間=最大值×五年內(nèi)最大行數(shù)+索引空間

五年產(chǎn)生的數(shù)據(jù)可能占用的最小空間=最小值×五年內(nèi)最小行數(shù)+索引空間直到計算完所有表

7.粒度劃分五月26,2023115

2、根據(jù)估算出的數(shù)據(jù)行和DASD,決定是否要劃分粒度,如何劃分粒度

第一年:10萬行左右,加一個綜合級別

1,00萬行左右,采用多重粒度

五年內(nèi):1,00萬行,劃分粒度>10,00萬行,多重粒度

7.粒度劃分五月26,2023116

數(shù)據(jù)分割:物理存儲單元分片邏輯上整體的數(shù)據(jù)分割成較小的、可以獨立管理8數(shù)據(jù)分割五月26,2023117

數(shù)據(jù)倉庫中的數(shù)據(jù)分片方式:

1.水平分片:按一定的條件將一個關系按行分為若干不相交的子集

2.垂直分片:將關系按列分為若干子集

3.導出分片(導出水平分片):水平分片的條件不是本身屬性的條件,而是其他關系的屬性的條件

例如:

SC(Sno,Cno,Grade)

不是按照學號或課程號或成績的某類條件分片

而是按照學生年齡>18歲和≤18歲來分片

(學生年齡是學生關系Student的屬性)

8數(shù)據(jù)分割五月26,2023118

4.混合分片:按上述三種分片方式得到的片段繼續(xù)按另一種方式分片

11-1223-13-23-31-2

(a)(b)

混合分片

8數(shù)據(jù)分割五月26,2023119

數(shù)據(jù)分割優(yōu)點:1提高系統(tǒng)性能“1996年家電類商品銷售的季節(jié)分布如何?”“每年的第一季度商品銷售在各類商品上的分布情況是怎樣的?”

2提高靈活性修改數(shù)據(jù)定義容易不同年份的險種的定義描述是相互獨立8數(shù)據(jù)分割五月26,2023120

選擇分割標準考慮的因素:

l

數(shù)據(jù)量(而非記錄行數(shù))

數(shù)據(jù)量較小,不分割數(shù)據(jù)量很大,考慮采用多重標準的組合l

數(shù)據(jù)分析處理的要求“商品”主題:按商品大類,商品小類和時間標準分割“供應商”主題:按地理位置(供應商的地址),時間分割

l

簡單易行易于實施,按時間,按業(yè)務類型

l

粒度劃分策略等8數(shù)據(jù)分割五月26,2023121

將數(shù)據(jù)分割標準與粒度的劃分策略統(tǒng)一考慮

“商品”主題:關于商品銷售數(shù)據(jù)的粒度是按時間和商品類別綜合每一粒度層次上:可以按時間和商品類別的組合進行分割8數(shù)據(jù)分割五月26,2023122

1不能采用同傳統(tǒng)的OLTP數(shù)據(jù)庫一樣的設計方法2數(shù)據(jù)倉庫系統(tǒng)的原始需求不明確,且不斷變化與增加,開發(fā)者最初并不能確切了解到用戶的明確而詳細的需求3用戶所能提供的是需求的大方向以及部分需求,不能較準確地預見到以后的需求4 采用原型法是比較合適的數(shù)據(jù)倉庫設計步驟

五月26,2023123

原型法的思想:

從構(gòu)建系統(tǒng)的簡單的基本框架著手,不斷豐富與完善整個系統(tǒng)——是不斷循環(huán)、反饋而使系統(tǒng)不斷增長與完善的過程

自始至終要求決策人員和開發(fā)者的共同參與和密切協(xié)作數(shù)據(jù)倉庫設計步驟

五月26,2023124

數(shù)據(jù)倉庫設計的大體步驟:1.概念模型設計2.技術(shù)準備工作3.邏輯模型設計4.物理模型設計5.數(shù)據(jù)倉庫生成6.數(shù)據(jù)倉庫運行與維護數(shù)據(jù)倉庫設計步驟

五月26,2023125

1.界定系統(tǒng)邊界2.確定主題域

邏輯模型設計4.關系模式定義3.記錄系統(tǒng)定義1.粒度層次劃分2.數(shù)據(jù)分割策略

物理模型設計1.確定存儲結(jié)構(gòu)2.確定索引結(jié)構(gòu)3.確定存放位置4.確定存儲分配

技術(shù)準備工作1.技術(shù)評估2.技術(shù)環(huán)境準備

概念模型設計分析主題域,針對每一個選定的當前實施的主題域1.設計接口2.數(shù)據(jù)裝入數(shù)據(jù)倉庫生成數(shù)據(jù)倉庫運行與維護數(shù)據(jù)倉庫設計步驟

五月26,2023126References(I)S.Agarwal,R.Agrawal,P.M.Deshpande,A.Gupta,J.F.Naughton,R.Ramakrishnan,andS.Sarawagi.Onthecomputationofmultidimensionalaggregates.VLDB’96D.Agrawal,A.E.Abbadi,A.Singh,andT.Yurek.Efficientvi

溫馨提示

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

評論

0/150

提交評論