ETL模型設計

? ? 傳統的關系數據庫一般采用二維數表的形式來表示數據,一個維是行,另一個維是列,行和列的交叉處就是數據元素。關系數據的基礎是關系數據庫模型,通過標準的SQL語言來加以實現。

? ? 數據倉庫是多維數據庫,它擴展了關系數據庫模型,以星形架構為主要結構方式的,并在它的基礎上,擴展出理論雪花形架構和數據星座等方式,但不管是哪一種架構,維度表、事實表和事實表中的量度都是必不可少的組成要素。

  • 維度:是多維數據集的結構性特性。它們是事實數據表中用來描述數據的分類的有組織層次結構(級別)。這些分類和級別分別描述了一些相似的成員集合,用戶將基于這些成員集合進行分析。
  • 度量值:在多維數據集中,度量值是一組值,這些值基于多維數據集的事實數據表中的一列,而且通常為數字。此外,度量值是所分析的多維數據集的中心值。即,度量值是最終用戶瀏覽多維數據集時重點查看的數字數據(如銷售、毛利、成本)。所選擇的度量值取決于最終用戶所請求的信息類型。一些常見的度量值有sales、cost、expenditures和production count等
  • 事實表:是數據聚合后依據某個維度生成的結果表。

1) 星型模型
星形模型是最常用的數據倉庫設計結構的實現模式,它使數據倉庫形成了一個集成系統,為最終用戶提供報表服務,為用戶提供分析服務對象。星形模式通過使用一個包含主題的事實表和多個包含事實的非正規化描述的維度表來支持各種決策查詢。星形模型可以采用關系型數據庫結構,模型的核心是事實表,圍繞事實表的是維度表。通過事實表將各種不同的維度表連接起來,各個維度表都連接到中央事實表。維度表中的對象通過事實表與另一維度表中的對象相關聯這樣就能建立各個維度表對象之間的聯系。每一個維度表通過一個主鍵與事實表進行連接。
事實表主要包含了描述特定商業事件的數據,即某些特定商業事件的度量值。一般情況下,事實表中的數據不允許修改,新的數據只是簡單地添加進事實表中,維度表主要包含了存儲在事實表中數據的特征數據。每一個維度表利用維度關鍵字通過事實表中的外鍵約束于事實表中的某一行,實現與事實表的關聯,這就要求事實表中的外鍵不能為空,這與一般數據庫中外鍵允許為空是不同的。這種結構使用戶能夠很容易地從維度表中的數據分析開始,獲得維度關鍵字,以便連接到中心的事實表,進行查詢,這樣就可以減少在事實表中掃描的數據量,以提高查詢性能。
使用星形模式主要有兩方面的原因:提高查詢的效率。采用星形模式設計的數據倉庫的優點是由于數據的組織已經過預處理,主要數據都在龐大的事實表中,所以只要掃描事實表就可以進行查詢,而不必把多個龐大的表聯接起來,查詢訪問效率較高,同時由于維表一般都很小,甚至可以放在高速緩存中,與事實表進行連接時其速度較快,便于用戶理解;對于非計算機專業的用戶而言,星形模式比較直觀,通過分析星形模式,很容易組合出各種查詢。
2) 雪花模型
雪花模型是對星形模型的擴展,每一個維度都可以向外連接多個詳細類別表。在這種模式中,維度表除了具有星形模型中維度表的功能外,還連接對事實表進行詳細描述的詳細類別表,詳細類別表通過對事實表在有關維上的詳細描述達到了縮小事實表和提高查詢效率的目的。
雪花模型對星形模型的維度表進一步標準化,對星形模型中的維度表進行了規范化處理。雪花模型的維度表中存儲了正規化的數據,這種結構通過把多個較小的標準化表(而不是星形模型中的大的非標準化表)聯合在一起來改善查詢性能。由于采取了標準化及維的低粒度,雪花模型提高了數據倉庫應用的靈活性。
這些連接需要花費相當多的時間。一般來說,一個雪花形圖表要比一個星形圖表效率低。
3) 星座模式
一個復雜的商業智能應用往往會在數據倉庫中存放多個事實表,這時就會出現多個事實表共享某一個或多個維表的情況,這就是事實星座,也稱為星系模式(galaxy schema)。
4) 數據集市
數據集市是在構建數據倉庫的時候經常用到的一個詞匯。如果說數據倉庫是企業范圍的,收集的是關于整個組織的主題,如顧客、商品、銷售、資產和人員等方面的信息,那么數據集市則是包含企業范圍數據的一個子集,例如只包含銷售主題的信息,這樣數據集市只對特定的用戶是有用的,其范圍限于選定的主題。
數據集市面向企業中的某個部門(或某個主題)是從數據倉庫中劃分出來的,這種劃分可以是邏輯上的,也可以是物理上的。
數據倉庫中存放了企業的整體信息,而數據集市只存放了某個主題需要的信息,其目的是減少數據處理量,使信息的利用更加快捷和靈活。
數據倉庫由于是企業范圍的,能對多個相關的主題建模,所以在設計其數據構成時一般采用星系模式。

轉載于:https://www.cnblogs.com/kaituorensheng/p/4149804.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259471.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259471.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259471.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《劍指offer》-整數中1出現的次數

題目描述 求出1~13的整數中1出現的次數,并算出100~1300的整數中1出現的次數?為此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對于后面問題他就沒轍了。ACMer希望你們幫幫他,并把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的…

This is Me!——回顧第一個項目的前前后后

今天終于把論文敲完了,一路走來,頗多感想。遂寫下以下諸多文字,以饗讀者。 在說這個項目之前,先簡單介紹一下我的經歷。我叫王財勇,家是山西的,2009年至2013年在新疆大學就讀數學專業,也許有人…

從零開始學JavaScript三(變量)

一、變量 ECMAscript變量是松散型變量,所謂松散型變量,就是變量名稱可以保存任何類型的數據,每個變量僅僅是一個用于保存值的占位符。 定義變量時要使用var操作符 如: var message; /*定義一個名為message的變量,該變量…

DES加密過程例解

DES加密算法是最被廣泛使用的對稱加密算法,通過示例來演示DES、TribleDES(3Key) DES-ECB: 按8字節為單位進行加密,不足8字節補0key: 1111111111111111indata: 2222222222222222 OutData: 950973182317F8…

linux在雙系統中消失了,雙系統重新安裝windows后,ubuntu選項消失

1、首先用LiveCD進入ubuntu2、打開終端,,輸入:fdisk -l 查看自己linux的分區情況,我的分了4個區,swap,boot,/,home,對應的分別是:/dev/sda9 swap…

Cydia源局域網化

2019獨角獸企業重金招聘Python工程師標準>>> 步驟 在網址根目錄創建文件夾cydia,把你的deb文件放到 cydia/debs/ 文件夾下。在終端cd進入cydia文件夾輸入命令:dpkg-scanpackages debs /dev/null > Packages輸入命令:tar zcvf P…

前綴++ 后綴++ 運算符重載

下面例子程序中 const Fraction operator (int) 中 int不過是個啞元(dummy),是永遠用不上的 它只是用來判斷++是prefix 還是 postfix 記住,如果有啞元,則是postfix,否則&#xff0c…

固定資產調整對資產折舊的影響

固定資產折舊計提方法 一、原值增加: 1、已攤銷資產: 攤銷調整時間設在當期:(1078135) 在進行原值增加后,攤銷日期不變時,折舊在當月體現。 每月新增月折舊調增金額*(1-殘值率)/(折舊年限*12-已提折舊月份的個數) 例&a…

linux系統中 庫分為靜態庫和,Linux系統靜態庫與共享庫

8種機械鍵盤軸體對比本人程序員,要買一個寫代碼的鍵盤,請問紅軸和茶軸怎么選?This article mainly introduces the statics library and shared library on Linux and has done some experiments for better comprehension.Static library&am…

軟件工程概論作業01

軟件工程作業01 寫一個能自動生成三十道小學四則運算題目的 “軟件”,要求:除了整數以外,還要支持真分數的四則運算(需要驗證結果的正確性)、題目避免重復、可定制出題的數量。 思路:隨機生成兩個數進行計算…

成員指針運算符 .* 和 -*

轉載: http://www.groad.net/bbs/thread-5548-1-1.html 有一種特殊的指針叫做成員指針,它們通常指向一個類的成員,而不是對象中成員的特定實例。 成員指針并不是真正的指針,它只是成員在對象中的偏移量,它們分別是&am…

捕捉Entity framework 6的詳細異常提示

采用 try{}catch (Exception e){throw;}不能捕捉到詳細異常提示, e.message的內容為"Validation failed for one or more entities. See EntityValidationErrors property for more details." 如果需要獲取詳細的異常提示,采用 1 try2 {3 return…

8.16——熟悉安裝linux系統

一、linux的版本——CentOS CentOS(Community ENTerprise Operating System)是Linux發行版之一,它是來自于Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩定性的服…

linux中設置默認權限的命令,Linux默認權限掩碼

Linux教程Linux教程:http://www.fdlly.com/m/linux文章目錄默認權限掩碼設置權限掩碼以文字的方式設置權限掩碼查看系統當前的權限掩碼默認權限掩碼當我們創建文件或目錄時,系統會自動根據權限掩碼來生成預設權限;默認情況下的umask值是022(可…

percona-toolkit工具包安裝

percona-toolkit工具包同percona-xtrabackup一樣都是用Perl寫的工具包,percona-toolkit工具包是一組高級的管理mysql的工具包集,可以用來執行各種通過手工執行非常復雜和麻煩的mysql和系統任務,在生產環境中能極大的提高效率,安裝…

C++允許重載的運算符和不允許重載的運算符

C中絕大部分的運算符允許重載&#xff0c;具體規定見表10.1。 表10.1 C允許重載的運算符雙目算術運算符 (加)&#xff0c;-(減)&#xff0c;*(乘)&#xff0c;/(除)&#xff0c;% (取模) 關系運算符 (等于)&#xff0c;! (不等于)&#xff0c;< (小于)&#xff0c;> (大…

Google Mesa概覽

Google Mesa的文章&#xff1a;https://research.google.com/pubs/pub42851.html https://gigaom.com/2014/08/07/google-shows-off-mesa-a-super-fast-data-warehouse-that-runs-across-data-centers/ 為什么未來的Hadoop是實時的&#xff1a; https://gigaom.com/2013/03/0…

C++數組參數應用方式探討(轉)

對于經驗豐富的編程人員來說&#xff0c;C編程語言應該是他們經常使用于程序開發的一種實用性語言。那么&#xff0c;在C中&#xff0c;C數組參數永遠不會按值傳遞。它是傳遞第一個元素&#xff08;準確地說是第0個&#xff09;的指針。 例如&#xff0c;如下聲明&#xff1a; …

一篇關于兼容問題的基礎總結

1.添加兼容文件(以 es5-shim 為例) 方法一&#xff1a; <script src"https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>在你的開發中&#xff0c;在需要為他做兼容的文件引入改文件 方法二(以模塊引入)&#xff1a; 在…

假如生活欺騙了你

假如生活欺騙了你&#xff0c; 不要悲傷&#xff0c;不要心急&#xff01; 憂郁的日子里需要鎮靜&#xff1a; 相信吧&#xff0c;快樂的日子將會降臨。 心兒永遠向往著未來&#xff1b; 現在卻常是憂郁&#xff0c; 一切都將會過去&#xff1b; 而那過去了的&#xff0c…