oracle星形转换,Oracle数据仓库博客(转,学)
數(shù)據(jù)倉庫之二 數(shù)據(jù)倉庫設(shè)計(jì)--Kimball方法
本文介紹的是數(shù)據(jù)倉庫設(shè)計(jì)的Kimball方法,即多維模型;關(guān)系模型,即Inmon方法參見(四)
多維數(shù)據(jù)模型
-方體:數(shù)據(jù)匯總。方體是數(shù)據(jù),方體的維度即各個(gè)維表,方體的值即事實(shí)表的度量;星型圖則是事實(shí)表與維表的組織結(jié)構(gòu),與數(shù)據(jù)無關(guān)。
原語:
立方體定義(事實(shí)表):
define cube []:
維定義(維表):
define dimension as ()
度量
根據(jù)所用的聚集函數(shù)分為三類:
分布的--一個(gè)聚集函數(shù)是分布的,如果它能用如下分布方式進(jìn)行計(jì)算:設(shè)數(shù)據(jù)劃分為n個(gè)集合,將函數(shù)用于每個(gè)劃分,得到n個(gè)聚集值;再將函數(shù)用于前述n個(gè)聚集值得到的結(jié)果與將函數(shù)用于整個(gè)數(shù)據(jù)集(不劃分)得到的結(jié)果一樣,則該函數(shù)可以用分布方式計(jì)算。一個(gè)度量是分布的,如果它可以用分布聚集函數(shù)得到。如count(),sum(),min(),max()都是分布聚集函數(shù)。
代數(shù)的--如avg(),min_N(),max_N(),standard_deviation()都是代數(shù)聚集函數(shù)。
整體的--如median(),mode(),rank()都是。
多維數(shù)據(jù)庫模式
星型模式;雪花模式;事實(shí)星座模式(多個(gè)事實(shí)表共享維表)
數(shù)據(jù)倉庫設(shè)計(jì)
典型的數(shù)據(jù)倉庫設(shè)計(jì)過程:
-選取待建模的商務(wù)處理, 例如, 訂單, 發(fā)票, 庫存等.
-選取商務(wù)處理的粒度, 例如,單個(gè)事務(wù)、一天的快照等
-選取用于每個(gè)事實(shí)表記錄的維, 如,時(shí)間、商品、顧客、供應(yīng)商、倉庫、事務(wù)類型和狀態(tài) 等
-選取將安放在事實(shí)表中的度量. 典型的度量是可加的數(shù)值量, 如dollars_sold和units_sold
數(shù)據(jù)倉庫設(shè)計(jì)步驟
概念模型設(shè)計(jì);
概念模型最常用的是E-R法(實(shí)體-聯(lián)系法,Inmon支持這種方法),使用E-R圖作為描述工具。另一種方法是Kimball支持的多維模型。
此步驟主要完成的工作是:(1)界定系統(tǒng)邊界;(2)確定主要的主題域及其內(nèi)容。
例如,商場的邊界可以界定為包含銷售子系統(tǒng)、采購子系統(tǒng)、庫存子系統(tǒng)在內(nèi)的集合。在此基礎(chǔ)上,確定三個(gè)基本主題:顧客、供應(yīng)商、商品。
技術(shù)準(zhǔn)備工作;
本階段工作:技術(shù)評(píng)估,技術(shù)環(huán)境準(zhǔn)備。
成果:技術(shù)評(píng)估報(bào)告,軟硬件配置方案,系統(tǒng)(軟硬件)總體設(shè)計(jì)方案。
邏輯模型設(shè)計(jì);
數(shù)據(jù)倉庫的邏輯模型描述了數(shù)據(jù)倉庫的主題的邏輯實(shí)現(xiàn),即每個(gè)主題所對(duì)應(yīng)的關(guān)系表的關(guān)系模式的定義。
本階段主要工作:(1)粒度層次劃分;(2)數(shù)據(jù)分割策略;(3)記錄系統(tǒng)定義;(4)關(guān)系模式定義。
物理模型設(shè)計(jì);
主要工作:(1)確定存儲(chǔ)結(jié)構(gòu);(2)確定索引結(jié)構(gòu);(3)確定存放位置;(4)確定存儲(chǔ)分配。
數(shù)據(jù)倉庫生成;
主要工作:(1)設(shè)計(jì)接口;(2)數(shù)據(jù)裝入。
接口是指將操作性環(huán)境下的數(shù)據(jù)裝載進(jìn)入數(shù)據(jù)倉庫環(huán)境,需要在兩個(gè)不同環(huán)境的記錄系統(tǒng)之間建立一個(gè)接口。
數(shù)據(jù)倉庫運(yùn)行與維護(hù)
包括:(1)建立DSS應(yīng)用;(2)理解需求,改善和完善系統(tǒng),維護(hù)數(shù)據(jù)倉庫。
DSS應(yīng)用開發(fā)的步驟:確定所需的數(shù)據(jù)、編程抽取數(shù)據(jù)、合并數(shù)據(jù)、分析數(shù)據(jù)、回答問題、例行化。
數(shù)據(jù)倉庫環(huán)境--Inmon
數(shù)據(jù)倉庫環(huán)境
數(shù)據(jù)倉庫是一個(gè)面向主題的、集成的、非易失的、隨時(shí)間變化的用來支持管理人員決策的數(shù)據(jù)集合。數(shù)據(jù)倉庫包含粒度化的企業(yè)數(shù)據(jù)。在數(shù)據(jù)倉庫的所有特性中,集成是最重要的。
數(shù)據(jù)倉庫中數(shù)據(jù)的主要設(shè)計(jì)問題:粒度問題,分區(qū)。
分區(qū)
數(shù)據(jù)分區(qū)的標(biāo)準(zhǔn)完全由開發(fā)人員來決定。在數(shù)據(jù)倉庫環(huán)境中,日期幾乎總是分區(qū)標(biāo)準(zhǔn)中的一個(gè)必然組成部分??刹捎玫姆謪^(qū)標(biāo)準(zhǔn)包括時(shí)間、業(yè)務(wù)范圍、地理位置、組織單位等等。
數(shù)據(jù)倉庫中的數(shù)據(jù)組織
簡單堆積結(jié)構(gòu)
輪轉(zhuǎn)綜合數(shù)據(jù)存儲(chǔ)
簡單直接文件
連續(xù)文件
數(shù)據(jù)倉庫的關(guān)鍵字總是復(fù)合關(guān)鍵字,因?yàn)?#xff1a;日期幾乎總是關(guān)鍵字的一部分;分區(qū)總是關(guān)鍵字的一部分。
數(shù)據(jù)倉庫環(huán)境主要構(gòu)件
操作型源系統(tǒng)
數(shù)據(jù)聚集環(huán)節(jié):ETL
數(shù)據(jù)展示:數(shù)據(jù)應(yīng)以維度形式進(jìn)行展示、存儲(chǔ)和訪問;數(shù)據(jù)中心中必須包括詳細(xì)的原子數(shù)據(jù)。
數(shù)據(jù)存取工具:所有數(shù)據(jù)存取工具訪問的是數(shù)據(jù)倉庫展示環(huán)節(jié)中的數(shù)據(jù)。
設(shè)計(jì)數(shù)據(jù)倉庫--Inmon方法(即關(guān)系模型)
從操作型數(shù)據(jù)開始
數(shù)據(jù)轉(zhuǎn)換難點(diǎn)
數(shù)據(jù)缺乏集成--格式編碼不一致
訪問現(xiàn)有系統(tǒng)數(shù)據(jù)的效率
從操作型環(huán)境到數(shù)據(jù)倉庫有三種裝載工作要做:
裝載檔案數(shù)據(jù)。
裝載操作型系統(tǒng)中的現(xiàn)有數(shù)據(jù)。
將上次DW刷新以來操作型環(huán)境中發(fā)生的變化(更新)從操作型環(huán)境中裝載到數(shù)據(jù)倉庫中。
前兩者都只需裝載一次,難度不大。數(shù)據(jù)倉庫刷新時(shí),可采用以下五種技術(shù)減少掃描的操作型數(shù)據(jù)量:
掃描在操作型環(huán)境中被打上時(shí)戳的數(shù)據(jù)。
掃描增量文件。
對(duì)事務(wù)處理產(chǎn)生的日志文件或?qū)徲?jì)文件進(jìn)行掃描。日志文件與增量文件基本相同,但日志文件不如增量文件專用于此功能。
修改應(yīng)用程序代碼。不常用。
將一個(gè)“前”映像文件和一個(gè)“后”印象文件進(jìn)行比較。這種方法很麻煩、復(fù)雜,耗費(fèi)資源,因此是下下策。
時(shí)基變化
數(shù)據(jù)壓縮
數(shù)據(jù)倉庫與數(shù)據(jù)模型
數(shù)據(jù)倉庫的數(shù)據(jù)模型
數(shù)據(jù)建模分為三個(gè)層次:高層建模(稱為實(shí)體關(guān)系圖,或ERD),中間層建模(稱為數(shù)據(jù)項(xiàng)集或DIS),底層建模(稱為物理模型)。
數(shù)據(jù)模型與迭代式開發(fā)
數(shù)據(jù)模型在迭代開發(fā)期間所起的作用:每一次迭代開發(fā)都基于同一個(gè)數(shù)據(jù)模型,各次開發(fā)工作的結(jié)果將產(chǎn)生一個(gè)內(nèi)聚的、高度和諧的整體。
相關(guān)物理設(shè)計(jì)技術(shù)
數(shù)據(jù)模型的輸出是大量的表,每個(gè)表包含關(guān)鍵字和屬性,其中每個(gè)表只包含少量數(shù)據(jù)。通常將這些表物理合并,使得I/O代價(jià)最小化。需要物理設(shè)計(jì)人員解決的是采用什么樣的策略來合并這些表。
另一種能夠節(jié)省I/O的設(shè)計(jì)技術(shù)是創(chuàng)建數(shù)據(jù)數(shù)組。
引入冗余數(shù)據(jù)。
當(dāng)訪問率相差懸殊時(shí),對(duì)數(shù)據(jù)做進(jìn)一步的分離。
引入導(dǎo)出數(shù)據(jù)(即已計(jì)算出的)以減少所需I/O。
最具創(chuàng)新性的技術(shù)之一是創(chuàng)造性索引或創(chuàng)造性概要文件。
參照完整性管理。
元數(shù)據(jù)
元數(shù)據(jù),即描述數(shù)據(jù)的數(shù)據(jù),與指向數(shù)據(jù)倉庫內(nèi)容的索引相似,處于數(shù)據(jù)倉庫的上層,并且記錄數(shù)據(jù)倉庫中對(duì)象的位置。
數(shù)據(jù)周期
數(shù)據(jù)轉(zhuǎn)換
早期,程序員需要自己編寫程序?qū)崿F(xiàn)集成,后來出現(xiàn)了數(shù)據(jù)集成自動(dòng)化技術(shù),即ETL軟件(抽取、轉(zhuǎn)換、裝載)。
星型連接
在數(shù)據(jù)倉庫技術(shù)中經(jīng)常提到的一種不同于數(shù)據(jù)庫設(shè)計(jì)方法是多維方法。包括星型連接、事實(shí)表和維。
需求和Zachman框架
數(shù)據(jù)倉庫不是由處理需求建造成的,而是根據(jù)企業(yè)需求而設(shè)計(jì)的。聚集和組織企業(yè)需求的最好的辦法之一是Zachman框架。Zachman框架一旦建立,企業(yè)的信息需求就可以從中提取出來。根據(jù)提取的需求,就可以建立企業(yè)數(shù)據(jù)模型。然后根據(jù)企業(yè)數(shù)據(jù)模型,就能以迭代的方式建立數(shù)據(jù)倉庫。
Zachman框架
數(shù)據(jù)倉庫的概念建模與概念設(shè)計(jì)-Golfarelli
數(shù)據(jù)倉庫設(shè)計(jì)包括3個(gè)主要階段:概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì),其中,概念模型即為星型圖或雪花模型;而邏輯設(shè)計(jì)階段則是對(duì)星型圖的細(xì)化。。3種不同的設(shè)計(jì)場景:數(shù)據(jù)驅(qū)動(dòng)的場景、需求驅(qū)動(dòng)的場景、混合場景。在數(shù)據(jù)集市設(shè)計(jì)中可以使用3種基本的系統(tǒng)方法:數(shù)據(jù)驅(qū)動(dòng)的方法、需求驅(qū)動(dòng)的方法和混合方法。它們的區(qū)別在于源數(shù)據(jù)庫分析和終端用戶需求分析階段所占的比重。
概念建模
DFM維度事實(shí)模型
數(shù)據(jù)倉庫的概念設(shè)計(jì)
Oracle Warehouse Builder(OWB)創(chuàng)建數(shù)據(jù)倉庫
Oracle的OWB是目前最好的三大ETL產(chǎn)品之一。OWB不但可以可以完成數(shù)據(jù)的抽取、轉(zhuǎn)換和加載,還能幫助用戶在Oracle數(shù)據(jù)庫中創(chuàng)建ROLAP(Relational Online Analysis Process)和MOLAP(Multidimensional Online Analysis Process)數(shù)據(jù)倉庫對(duì)象,數(shù)據(jù)質(zhì)量管理,商務(wù)智能定義等。
OWB數(shù)據(jù)處理流程
(1)進(jìn)入“Design Center”
新建“控制中心(Control Center)”
新建“項(xiàng)目(Project)”
定義“數(shù)據(jù)源模塊(Module)”
定義“目標(biāo)數(shù)據(jù)模塊(Module)”
設(shè)計(jì)“映射(Mapping)”
設(shè)計(jì)“進(jìn)程流(Process Flow)”確定映射運(yùn)行的先后順序
設(shè)計(jì)“計(jì)劃(Schedule)”
“配置(Configure)”映射和工作流,添加不同映射和工作流的“計(jì)劃”,部署后會(huì)形成“工作(Job)”
(2)在Design Center中創(chuàng)建Control Center,并且將其配置為缺省的Control Center
(3)打開“控制中心管理器(Control Center Manager)”
確定數(shù)據(jù)源和目標(biāo)數(shù)據(jù)庫的實(shí)際物理配置,“注冊(cè)(Register)”“位置(Location)”為部署和執(zhí)行打下基礎(chǔ)
“部署(Deploy)”某個(gè)項(xiàng)目、位置、模塊下所有對(duì)象,這些操作完成了如下工作:DDL、DML、Control File、Workflow代碼、Job生成代碼或者ABAP等代碼在目標(biāo)用戶所在數(shù)據(jù)庫上的生成,DDL語句的部署同時(shí)完成了對(duì)象在目標(biāo)用戶所在數(shù)據(jù)庫上的生成,DML、Control File、Workflow、Job需要下一步的執(zhí)行才可以真正完成
“執(zhí)行(Execute)”工作,實(shí)現(xiàn)周期ETL
總結(jié)
以上是生活随笔為你收集整理的oracle星形转换,Oracle数据仓库博客(转,学)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 羊肺煮多长时间能熟
- 下一篇: oracle的parameters怎么用