秒懂?dāng)?shù)倉的今生:DW和OLAP到底是啥?(下篇)

2 評論 7832 瀏覽 13 收藏 11 分鐘

編輯導(dǎo)讀:在上一篇中,作者講述了數(shù)倉的前世DBMS、今生數(shù)倉以及大家耳熟能詳?shù)腛LAP。本篇文章講的是數(shù)倉的今生——DW數(shù)據(jù)倉庫(包含OLAP操作),一起來文中看一下吧。

上一篇咱們重點把數(shù)倉的前世:DBMS 數(shù)據(jù)庫管理系統(tǒng)(OLTP)講解的非常清楚,大家可戳?《秒懂?dāng)?shù)倉的前世今生:DBMS、DW、OLTP、OLAP到底是啥?(上篇)》

今天我們重點來講解下篇數(shù)倉今生:DW數(shù)據(jù)倉庫(包含OLAP操作)

一、DW是啥:定義

由于數(shù)據(jù)量的不斷膨脹,人們對數(shù)據(jù)需求的精細(xì)化(從月到天,從天到小時,從小時到分鐘),OLTP僅僅針對關(guān)系型數(shù)據(jù)庫做聯(lián)機(jī)事務(wù)處理已經(jīng)無法滿足要求。此時,Dataware數(shù)據(jù)倉庫的體系結(jié)構(gòu)應(yīng)運(yùn)而生,DW環(huán)境中的處理類型可以概括為裝載和訪問過程。數(shù)據(jù)一旦被裝載,通常是無法更新的,緊接著就會被用于訪問查詢,用于各類分析。

此時,我們會經(jīng)常使用一種OLAP的技術(shù)優(yōu)化數(shù)據(jù)結(jié)構(gòu),使得企業(yè)靈活對數(shù)據(jù)進(jìn)行查詢訪問。

OLAP,即多維數(shù)據(jù)庫管理系統(tǒng)處理,他提供了一種信息系統(tǒng)結(jié)構(gòu),這種結(jié)構(gòu)可以使得企業(yè)對數(shù)據(jù)進(jìn)行靈活訪問,有多種方式對數(shù)據(jù)進(jìn)行切片、分塊,可以靈活動態(tài)的考察匯總數(shù)據(jù)和細(xì)節(jié)數(shù)據(jù)之間的關(guān)系與變化。

二、為啥需要DW:意義

DW主要有以下意義和特點

  • 降低 存儲成本:減少不必要的數(shù)據(jù)冗余,從而極大地降低存儲和計算成本,更好且有效的利用數(shù)據(jù)。
  • 提高 使用效率:當(dāng)業(yè)務(wù)發(fā)生變化時,可以更加方便的進(jìn)行擴(kuò)展,提高數(shù)據(jù)穩(wěn)定性和連續(xù)性
  • 保障 數(shù)據(jù)質(zhì)量:良好的數(shù)據(jù)模型能改善數(shù)據(jù)統(tǒng)計口徑的不一致性,減少數(shù)據(jù)計算錯誤的可能性。

三、如何用DW:具體建模

一共分為三層六類

  • 第一層:ODS操作數(shù)據(jù)存儲層
  • 第二層:DW數(shù)據(jù)倉庫層,其中又可以分為公共維度匯總層 DIM、數(shù)據(jù)倉庫層DW(數(shù)據(jù)細(xì)節(jié)層DWD、數(shù)據(jù)中間層DWM、數(shù)據(jù)服務(wù)層DWS)
  • 第三層:ADS應(yīng)用數(shù)據(jù)服務(wù)層

這部分詳情可見文章《最詳細(xì)!深入淺出理解「3層6類」數(shù)據(jù)分層

四、關(guān)于OLAP

4.1 啥是OLAP:定義

大家在和研發(fā)對接的過程中,可能會經(jīng)常聽到OLAP這個詞,到底OLAP是啥呢?OLAP是否就等價于DW呢?

其實不是這樣的,我們先來區(qū)分下DW數(shù)倉和OLAP:

  • DW數(shù)據(jù)倉庫是一種數(shù)據(jù)庫,其設(shè)計使得分析數(shù)據(jù)更容易(通常使用來自多個來源的數(shù)據(jù))。它通常由事實表和維度表組成,并且通常由聚合表組成。
  • OLAP是一組操作可以對數(shù)據(jù)集進(jìn)行操作,例如旋轉(zhuǎn),切片,切割,鉆孔。例如,可以使用Excel數(shù)據(jù)透視表執(zhí)行OLAP操作。

所以從本質(zhì)上來說,兩者并不等價,從包含關(guān)系上來說,DW包含了OLAP這種操作,OLAP也是DW數(shù)倉中的重要一環(huán)。如果再直白一點表達(dá)這兩部分差異,DW數(shù)據(jù)倉庫是一個日常管理和存儲數(shù)據(jù)的地方,OLAP是一種分析數(shù)據(jù)的方法。

4.2 OLAP有啥用:特點

此時肯定有人要問了,我用DBMS的關(guān)系型數(shù)據(jù)庫也能進(jìn)行分析,為啥要用OLAP分析呢?

——關(guān)系數(shù)據(jù)庫報表工具當(dāng)然可以查詢、報表和分析存儲在表中的多維數(shù)據(jù),但隨著數(shù)據(jù)量的增加,性能會變慢。并且需要大量的工作來重新組織結(jié)果以關(guān)注不同的維度。例如,以前只需要業(yè)務(wù)A整體的數(shù)據(jù),現(xiàn)在要看這個業(yè)務(wù)下人群1和人群2的數(shù)據(jù),或者要看業(yè)務(wù)A和業(yè)務(wù)B下有交叉的人群1和人群2的數(shù)據(jù)情況,再交叉時間維度一起。

多維分析,這就是 OLAP 多維數(shù)據(jù)集的用武之地以及最大特點。OLAP 多維數(shù)據(jù)集使用附加層擴(kuò)展了單個表,每個層都添加了附加維度——通常是維度“概念層次結(jié)構(gòu)”中的下一個級別。例如,立方體的頂層可能按地區(qū)銷售;附加層可以是國家、省、城市甚至特定商店。

理論上,一個立方體可以包含無數(shù)層。(代表三個以上維度的 OLAP 多維數(shù)據(jù)集有時稱為超多維數(shù)據(jù)集。)層中可以存在更小的多維數(shù)據(jù)集。例如:每個商店層可以包含按銷售人員和產(chǎn)品排列銷售情況的多維數(shù)據(jù)集。在實踐中,數(shù)據(jù)分析師將創(chuàng)建僅包含他們需要的層的 OLAP 多維數(shù)據(jù)集,以實現(xiàn)最佳分析和性能。

4.3 如何用OLAP:支持的操作

OLAP 多維數(shù)據(jù)集支持四種基本類型的多維數(shù)據(jù)分析:

下鉆操作

向下鉆取操作通過以下兩種方法將粗略的數(shù)據(jù)轉(zhuǎn)換為更詳細(xì)的數(shù)據(jù) :在概念層次結(jié)構(gòu)中向下移動或向多維數(shù)據(jù)集添加新維度。例如,如果你想查看季度的銷售表現(xiàn),可以以月為單位向下鉆取查看每個月的銷售額,在“時間”維度的概念層次結(jié)構(gòu)中維度下移。

上卷操作

與下鉆相反,上卷通過在概念層次結(jié)構(gòu)中向上移動或減少維數(shù)來聚合 OLAP 多維數(shù)據(jù)集上的數(shù)據(jù)。例如,可以通過查看每個區(qū)域的數(shù)據(jù),而不是每個城市的數(shù)據(jù),在“位置”維度的概念層次結(jié)構(gòu)中向上移動。

切片操作

切片是通過從主 OLAP 多維數(shù)據(jù)集中選擇一個維度來創(chuàng)建子多維數(shù)據(jù)集。例如,你可以通過切片來突出表示某業(yè)務(wù)線第二季度的銷售情況

切快操作

切塊操作通過在主 OLAP 多維數(shù)據(jù)集中選擇一個小的多維數(shù)據(jù)集。例如,我只需要分析華南區(qū)域男裝和媽媽裝業(yè)務(wù)線下半年的銷售情況。

旋轉(zhuǎn)操作

旋轉(zhuǎn)當(dāng)前的多維數(shù)據(jù)集視圖。其實OLAP 的這個操作與Excel中的數(shù)據(jù)透視表功能相當(dāng), OLAP 數(shù)據(jù)透視表相對更易于使用(僅需較少的專業(yè)知識),并且具有更快的響應(yīng)時間和查詢性能。

4.4 OLAP有哪些:分類

按數(shù)據(jù)存儲方式(建模類型)分類,可分為?MOLAP、ROLAP、HOLAP等。

MOLAP:Multidimensional (多維的 )OLAP

將數(shù)據(jù)存儲在優(yōu)化的多維數(shù)組中,而不是關(guān)系數(shù)據(jù)庫中。

優(yōu)點:性能絕佳,MOLAP cubes為了快速數(shù)據(jù)檢索而構(gòu)建,具有最佳的分塊和分片操作??梢詧?zhí)行復(fù)雜的計算,速度快。

缺點:可以處理的數(shù)據(jù)量有限,因為所有的計算都是執(zhí)行在構(gòu)建的多維數(shù)據(jù)集上,多維數(shù)據(jù)集本身不可能包括大量的數(shù)據(jù)。需要額外的成本,多維數(shù)據(jù)集技術(shù)往往是有專利或現(xiàn)在并不存在在某個組織中。因此,要想采用MOLAP技術(shù),通常是要付出額外的人力和資源成本。

ROLAP:Relational (關(guān)系型) OLAP

將分析用的多維數(shù)據(jù)存儲在關(guān)系數(shù)據(jù)庫中。這種方式依賴SQL語言實現(xiàn)傳統(tǒng)OLAP的切片和切塊功能,本質(zhì)上,切片和切塊等動作都等同于在SQL語句中添加“WHERE”子句。

優(yōu)點:可以處理大數(shù)據(jù)量,ROLAP技術(shù)的數(shù)據(jù)量大小就是底層關(guān)系數(shù)據(jù)庫存儲的大小,ROLAP本身沒有對數(shù)據(jù)量的限制。

且可以利用關(guān)系型數(shù)據(jù)庫所固有的功能,關(guān)系型數(shù)據(jù)庫已經(jīng)具備非常多的功能。

劣勢:性能可能會很慢,因為每個ROLAP包裹實際上是一個SQL查詢(或多個SQL查詢)關(guān)系數(shù)據(jù)庫,可能會因為底層數(shù)據(jù)量很大,使得查詢的時間很長。

HOLAP:Hybrid(混合型) OLAP

將上述兩種方式結(jié)合,從而可以獲取各自的優(yōu)點。

 

本文由 @業(yè)務(wù)數(shù)智化 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 清晰易懂!感謝 ??

    來自廣東 回復(fù)
    1. 哈哈,覺得有用就行哈,后續(xù)會寫很多相關(guān)文章,隨時交流!

      來自上海 回復(fù)