数据仓库、OLAP和数据立方体
文章目錄
- 數(shù)據(jù)倉(cāng)庫(kù)、OLAP和數(shù)據(jù)立方體
- 1. 數(shù)據(jù)倉(cāng)庫(kù)
- 1.1. 數(shù)據(jù)倉(cāng)庫(kù)定義
- 1.2. 關(guān)鍵術(shù)語(yǔ)解釋
- 2. 數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)庫(kù)的區(qū)別
- 3. OLAP
- 3.1. 基本概念
- 1) 維
- 2)操作
- 3.2. OLAP分類
- 4. 數(shù)據(jù)立方體
- 4.1. 維災(zāi)難
- 4.2. 方體的計(jì)算
數(shù)據(jù)倉(cāng)庫(kù)、OLAP和數(shù)據(jù)立方體
1. 數(shù)據(jù)倉(cāng)庫(kù)
1.1. 數(shù)據(jù)倉(cāng)庫(kù)定義
定義:面向主題、集成、時(shí)變和非易失的有組織的數(shù)據(jù)集合
將定義解釋一下:面向目標(biāo)群體或特定目標(biāo)、將不同數(shù)據(jù)源的數(shù)據(jù)集成到一起、可按時(shí)間區(qū)分?jǐn)?shù)據(jù)、一般只是進(jìn)行只讀操作的有組織的數(shù)據(jù)集合。
1.2. 關(guān)鍵術(shù)語(yǔ)解釋
- 面向主題:圍繞一些重要的主題(如顧客、供應(yīng)商或產(chǎn)品),很明確要做什么,需要哪些視圖。
- 集成:將多個(gè)不同結(jié)構(gòu)的(異構(gòu))數(shù)據(jù)源的數(shù)據(jù)集成到一起。
集成操作分為 查詢驅(qū)動(dòng) 和 更新驅(qū)動(dòng) :
| 查詢驅(qū)動(dòng): | 用的時(shí)候通過(guò)一個(gè)集成程序?qū)Χ鄠€(gè)異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行查詢 (note:這兒的查詢類似于SQL查詢,不過(guò)是從多個(gè)數(shù)據(jù)源里查詢) | 要的時(shí)候去拿 查詢開(kāi)銷大。 |
| 更新驅(qū)動(dòng): | 提前將多個(gè)數(shù)據(jù)源的信息集成起來(lái) | 先把需要的集成好了 |
- 時(shí)變:其中數(shù)據(jù)都包含時(shí)間維度的信息(如2015年的數(shù)據(jù)、2016年的數(shù)據(jù)。。。)。
- 非易失:一般只需要數(shù)據(jù)的初始化裝入 和 數(shù)據(jù)訪問(wèn)(只讀),不涉及事務(wù)處理。
-
數(shù)據(jù)倉(cāng)庫(kù):數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)支持管理決策的數(shù)據(jù)集合。數(shù)據(jù)是面向主題的、集成的、不易丟失的并且是時(shí)間變量。所有操作環(huán)境和外部數(shù)據(jù)源的快照集合。它并不需要非常精確,因?yàn)樗仨氃谔囟ǖ臅r(shí)間基礎(chǔ)上從操作環(huán)境中提取出來(lái)。數(shù)據(jù)倉(cāng)庫(kù)只限于單個(gè)主題的區(qū)域,例如顧客、部門(mén)、地點(diǎn)等。
-
數(shù)據(jù)集市:數(shù)據(jù)集市在從數(shù)據(jù)倉(cāng)庫(kù)獲取數(shù)據(jù)時(shí)可以依賴于數(shù)據(jù)倉(cāng)庫(kù),或者當(dāng)它們從操作系統(tǒng)中獲取數(shù)據(jù)時(shí)就不依賴于數(shù)據(jù)倉(cāng)庫(kù)。
-
聯(lián)機(jī)操作數(shù)據(jù)庫(kù)系統(tǒng)(Online Transaction Processing)OLTP:聯(lián)機(jī)事務(wù)、數(shù)據(jù)增刪改查CRUD
-
聯(lián)機(jī)分析處理(Online Analytical Processing)OLAP:不同格式的組織和提供數(shù)據(jù)(各式各樣的讀)
-
事實(shí):數(shù)據(jù)倉(cāng)庫(kù)中的信息單元,也是多維空間中的一個(gè)單元,受分析單元的限制。事實(shí)存儲(chǔ)于一張表中(當(dāng)使用關(guān)系數(shù)據(jù)庫(kù)時(shí))或者是多維數(shù)據(jù)庫(kù)中的一個(gè)單元。
每個(gè)事實(shí)包括關(guān)于事實(shí)(收入、價(jià)值、滿意記錄等)的基本信息,并且與維度相關(guān)。 -
維度:綁定由坐標(biāo)系定義的空間的坐標(biāo)系的軸線。(node:屬性)
數(shù)據(jù)倉(cāng)庫(kù)中的坐標(biāo)系定義了數(shù)據(jù)單元,其中包含事實(shí)。坐標(biāo)系的一個(gè)例子就是帶有 x 維度和 y 維度的 Cartesian(笛卡爾)坐標(biāo)系。
在數(shù)據(jù)倉(cāng)庫(kù)中,時(shí)間總是維度之一。 -
數(shù)據(jù)立方體:可以以多維對(duì)數(shù)據(jù)建模和觀察。由事實(shí)和維定義。
-
分析空間:數(shù)據(jù)倉(cāng)庫(kù)中一定量的數(shù)據(jù),用于進(jìn)行數(shù)據(jù)挖掘以發(fā)現(xiàn)新信息同時(shí)支持管理決策。
-
切片:一種用來(lái)在數(shù)據(jù)倉(cāng)庫(kù)中將一個(gè)維度中的分析空間限制為數(shù)據(jù)子集的技術(shù)。
-
切塊:一種用來(lái)在數(shù)據(jù)倉(cāng)庫(kù)中將多個(gè)維度中的分析空間限制為數(shù)據(jù)子集的技術(shù)。
-
數(shù)據(jù)模型:E-R圖被廣泛的用于關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì),數(shù)據(jù)庫(kù)模式用E-R圖表示。而數(shù)據(jù)倉(cāng)庫(kù)模型有星型、雪花、星座。
-
星型模式:一種使用關(guān)系數(shù)據(jù)庫(kù)實(shí)現(xiàn)多維分析空間的模式,稱為星型模式。
當(dāng)所有維表都直接連接到“ 事實(shí)表”上時(shí),整個(gè)圖解就像星星一樣,故將該模型稱為星型模型
-
雪花模式:不管什么原因,當(dāng)星型模式的維度需要進(jìn)行規(guī)范化時(shí),星型模式就演進(jìn)為雪花模式。
當(dāng)有一個(gè)或多個(gè)維表沒(méi)有直接連接到事實(shí)表上,而是通過(guò)其他維表連接到事實(shí)表上時(shí),其圖解就像多個(gè)雪花連接在一起,故稱雪花模型。
雪花模型是對(duì)星型模型的擴(kuò)展。它對(duì)星型模型的維表進(jìn)一步層次化,原有的各維表可能被擴(kuò)展為小的事實(shí)表,形成一些局部的 " 層次 " 區(qū)域,這些被分解的表都連接到主維度表而不是事實(shí)表。如上圖,將地域維表又分解為國(guó)家,省份,城市等維表。
- 星座模式:星型模式的集合,出現(xiàn)多個(gè)事實(shí)表。
2. 數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)庫(kù)的區(qū)別
聯(lián)機(jī)操作數(shù)據(jù)庫(kù)系統(tǒng)(Online Transaction Processing)OLTP
主要任務(wù):聯(lián)機(jī)事務(wù)、數(shù)據(jù)增刪改查
聯(lián)機(jī)分析處理(Online Analytical Processing)OLAP
主要任務(wù):不同格式的組織和提供數(shù)據(jù)(各式各樣的讀)
| 特性 | 操作處理(事務(wù)處理) | 分析處理 |
| 面向 | 事務(wù) | 分析 |
| DB設(shè)計(jì) | E-R圖,面向應(yīng)用 | 星型/雪花、面向主題 |
| 數(shù)據(jù) | 最新的 | 歷史的、跨時(shí)間維度的 |
| 訪問(wèn) | 讀、寫(xiě) | 讀 |
| 操作 | 索引、散列 | 大量掃描 |
| 數(shù)據(jù)規(guī)模 | >GB | >TB |
| 訪問(wèn) | 讀、寫(xiě) | 讀 |
3. OLAP
3.1. 基本概念
1) 維
除了維的基本概念,還有多維分析的分析操作。
2)操作
3.2. OLAP分類
OLAP按存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)格式分為ROLAP、MOLAP和HOLAP。
| MOLAP | Multi-dimensional OLAP | 以多維數(shù)組(Multi-dimensional Array)存儲(chǔ)模型的OLAP,是OLAP發(fā)源最初的形態(tài),某些方面也等同于OLAP。 它的特點(diǎn)是數(shù)據(jù)需要預(yù)計(jì)算(pre-computaion),然后把預(yù)計(jì)算之后的結(jié)果(cube)存在多維數(shù)組里。 | cube包含所有維度的聚合結(jié)果,所以查詢速度非常快。 計(jì)算結(jié)果數(shù)據(jù)占用的磁盤(pán)空間相對(duì)關(guān)系型數(shù)據(jù)庫(kù)更小 | 空間和時(shí)間開(kāi)銷大。update cube的時(shí)間跟計(jì)算維度(degree)相關(guān),隨著維度增加計(jì)算時(shí)間大幅增加,此外預(yù)計(jì)算還會(huì)造成數(shù)據(jù)庫(kù)占用急劇膨脹。查詢靈活度比較低。需要提前設(shè)計(jì)維度模型,查詢分析的內(nèi)容僅限于這些指定維度,增加維度需要重新計(jì)算。 |
| ROLAP | Relational OLAP | 基于關(guān)系模型存放數(shù)據(jù),一般要求事實(shí)表(fact table)和維度表(dimensition table)按一定關(guān)系設(shè)計(jì),它不需要預(yù)計(jì)算,使用標(biāo)準(zhǔn)SQL就可以根據(jù)需要即時(shí)查詢不同維度數(shù)據(jù)。 | 擴(kuò)展性強(qiáng),適用于維度數(shù)量多的模型,MOLAP對(duì)于維度多的模型預(yù)計(jì)算慢,空間占用大。 更適合處理non-aggregate事實(shí),例如文本描述 基于row數(shù)據(jù)更容易做權(quán)限管理 | 因?yàn)槭羌磿r(shí)計(jì)算,查詢響應(yīng)時(shí)間一般比預(yù)計(jì)算的MOLAP長(zhǎng)。 |
| HOLAP | Hybrid OLAP | MOLAP和ROLAP類型的混合運(yùn)用 細(xì)節(jié)的數(shù)據(jù)以ROLAP的形式存放,更加方便靈活,而高度聚合的數(shù)據(jù)以MOLAP的形式展現(xiàn) | 更適合于高效的分析處理。公司使用HOLAP的目的是根據(jù)不同場(chǎng)景來(lái)利用不同OLAP的特性。 |
4. 數(shù)據(jù)立方體
4.1. 維災(zāi)難
n 維數(shù)據(jù)立方體有多少個(gè)方體?
| no | 2n2^n2n | |
| yes | ∏i=1nLi+1\prod_{i=1}^n L_i+1∏i=1n?Li?+1 | LiL_iLi?:與維 i 相關(guān)聯(lián)的層數(shù) |
概念分層:如時(shí)間維度可分為year、mouth、day、hour、minute等層。
當(dāng)n比較小的時(shí)候方體數(shù)目還不多。但是其數(shù)目是隨著n的增加而幾何增加的,這就是維災(zāi)難。
note:圖片為轉(zhuǎn)載
4.2. 方體的計(jì)算
| 不物化 | 不預(yù)先計(jì)算任何 ‘非基本’ 方體 | 查詢時(shí)候開(kāi)銷大 |
| 完全物化 | 預(yù)先計(jì)算 所有 方體 | 物化開(kāi)銷大 |
| 部分物化 | 預(yù)先計(jì)算 部分 方體 | 一種折中的方式 |
| 冰山立方體 | 一個(gè)數(shù)據(jù)立方體 只存放聚集值(count,sum等)大于某個(gè)最小支持度閾值的立方體單元 | 一種折中的方式 |
總結(jié)
以上是生活随笔為你收集整理的数据仓库、OLAP和数据立方体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 转贴和菜头的曝脸存照
- 下一篇: 百度云主机只能访问首页,bcloud_n