一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

什么是數(shù)倉模型

 CDA數(shù)據(jù)分析師 2023-11-20 發(fā)布于北京
數(shù)倉模型也就是數(shù)據(jù)模型(Data Model)是數(shù)據(jù)特征的抽象,它從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動(dòng)態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表示與操作提供一個(gè)抽象的框架。數(shù)據(jù)模型所描述的內(nèi)容有三部分,分別是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。
本題涉及的建模即Hive數(shù)據(jù)倉房體系中數(shù)據(jù)模型的構(gòu)建,大家要區(qū)別其他的模型構(gòu)建。其他的模型構(gòu)建還有:算法建模、業(yè)務(wù)流程建模等,這些描述的又是其他方面的內(nèi)容。
模型可更形象、直觀地揭示事物的本質(zhì)特征,使人們對(duì)事物有一個(gè)更加全面、深入的認(rèn)識(shí),從而可以幫助人們更好地解決問題。利用模型對(duì)事物進(jìn)行描述是人們?cè)谡J(rèn)識(shí)和改造世界過程中廣泛采用的一種方法。計(jì)算機(jī)不能直接處理現(xiàn)實(shí)世界中的客觀事物,而數(shù)據(jù)庫系統(tǒng)正是使用計(jì)算機(jī)技術(shù)對(duì)客觀事物進(jìn)行管理,因此就需要對(duì)客觀事物進(jìn)行抽象、模擬,以建立適合于數(shù)據(jù)庫系統(tǒng)進(jìn)行管理的數(shù)據(jù)模型。數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的模擬和抽象。
數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類型:分別是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。

概念數(shù)據(jù)模型

概念數(shù)據(jù)模型(Conceptual Data Model),是一種面向用戶、面向客觀世界的模型,主要用來描述世界的概念化結(jié)構(gòu),它是數(shù)據(jù)庫的設(shè)計(jì)人員在設(shè)計(jì)的初始階段,擺脫計(jì)算機(jī)系統(tǒng)及DBMS的具體技術(shù)問題,集中精力分析數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系等,與具體的數(shù)據(jù)管理系統(tǒng)(Database Management System,簡(jiǎn)稱DBMS)無關(guān)。概念數(shù)據(jù)模型必須換成邏輯數(shù)據(jù)模型,才能在DBMS中實(shí)現(xiàn)。在概念數(shù)據(jù)模型中最常用的是E-R模型、擴(kuò)充的E-R模型、面向?qū)ο竽P图爸^詞模型 。

邏輯數(shù)據(jù)模型

邏輯數(shù)據(jù)模型(Logical Data Model),是一種面向數(shù)據(jù)庫系統(tǒng)的模型,是具體的DBMS所支持的數(shù)據(jù)模型,如網(wǎng)狀數(shù)據(jù)模型(Network Data Model)、層次數(shù)據(jù)模型(Hierarchical Data Model)等等。此模型既要面向用戶,又要面向系統(tǒng),主要用于數(shù)據(jù)庫管理系統(tǒng)(DBMS)的實(shí)現(xiàn)。

物理數(shù)據(jù)模型

物理數(shù)據(jù)模型(Physical Data Model),是一種面向計(jì)算機(jī)物理表示的模型,描述了數(shù)據(jù)在儲(chǔ)存介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。每一種邏輯數(shù)據(jù)模型在實(shí)現(xiàn)時(shí)都有其對(duì)應(yīng)的物理數(shù)據(jù)模型。DBMS為了保證其獨(dú)立性與可移植性,大部分物理數(shù)據(jù)模型的實(shí)現(xiàn)工作由系統(tǒng)自動(dòng)完成,而設(shè)計(jì)者只設(shè)計(jì)索引、聚集等特殊結(jié)構(gòu)。

數(shù)倉建模

在學(xué)習(xí)數(shù)倉前需要知道,當(dāng)今的數(shù)據(jù)處理系統(tǒng),主要分兩大類:OLAP與OLTP。
OLAP(On-Line Analytical Processing):聯(lián)機(jī)分析處理
OLTP  (On-Line Transaction Processing):聯(lián)機(jī)事務(wù)處理
聯(lián)機(jī)分析處理是數(shù)據(jù)倉庫的主要應(yīng)用,主要是支持企業(yè)的決策需要提供數(shù)據(jù)支持。
聯(lián)機(jī)事務(wù)處理系統(tǒng)側(cè)重系統(tǒng)的日常操作,例如用戶交易、用戶賬戶注冊(cè)、注銷等。
對(duì)于事務(wù)型需求場(chǎng)景來說,一般采用三范式規(guī)則構(gòu)建數(shù)據(jù)模型,而對(duì)于分析型的場(chǎng)景多采用維度模型或?qū)挶砟P?,但也不是絕對(duì)的,需要具體問題具體分析。接下來我們先去認(rèn)識(shí)一下這幾個(gè)模型:

三范式模型

三范式模型又稱關(guān)系型數(shù)據(jù)庫模型
關(guān)系:數(shù)據(jù)模型是抽象描述現(xiàn)實(shí)世界的一種工具和方法,是通過抽象的實(shí)體及實(shí)體之間聯(lián)系的形式,來表示現(xiàn)實(shí)世界中事務(wù)的相互關(guān)系的一種映射。
所以在數(shù)據(jù)庫中,通過表間的關(guān)系作為現(xiàn)實(shí)中的實(shí)體關(guān)系的映射。通過表間的關(guān)系,也是構(gòu)造出數(shù)據(jù)模型的基礎(chǔ),這樣才能表達(dá)出豐富的業(yè)務(wù)關(guān)系。
對(duì)于構(gòu)造關(guān)系數(shù)據(jù)模型,遵循3各最基本的范式:
關(guān)系數(shù)據(jù)模型從關(guān)系型數(shù)據(jù)庫的角度出發(fā),結(jié)合了業(yè)務(wù)系統(tǒng)的數(shù)據(jù)模型,能夠比較方便的實(shí)現(xiàn)數(shù)據(jù)倉庫的建模 ;但是建模方法限定在關(guān)系型數(shù)據(jù)庫之上,在某些時(shí)候反而限制了整個(gè)數(shù)據(jù)倉庫模型的靈活性以及性能等,特別是考慮到數(shù)據(jù)倉庫的底層數(shù)據(jù)向數(shù)據(jù)集市的數(shù)據(jù)進(jìn)行匯總時(shí),需要進(jìn)行一定的變通才能滿足相應(yīng)的需求。
因此這種建模方式適用于數(shù)據(jù)規(guī)模相對(duì)較小,數(shù)據(jù)表也比較少的場(chǎng)景,并且技術(shù)架構(gòu)采用關(guān)系型數(shù)據(jù)庫實(shí)現(xiàn)的數(shù)據(jù)倉庫。

維度模型

按照事實(shí)表,維表來構(gòu)建數(shù)據(jù)倉庫,數(shù)據(jù)集市。這種方法的最被人廣泛知曉的名字就是星型模式、雪花模型等。
- 優(yōu)點(diǎn):對(duì)于維度建模,針對(duì)各個(gè)維作了大量的預(yù)處理,如按照維進(jìn)行預(yù)先的統(tǒng)計(jì)、分類、排序等。通過這些預(yù)處理,能夠極大的提升數(shù)據(jù)倉庫的處理能力。
維度建模非常直觀,緊緊圍繞著業(yè)務(wù)模型,可以直觀的反映出業(yè)務(wù)模型中的業(yè)務(wù)問題。
- 缺點(diǎn):由于在構(gòu)建星型模式之前需要進(jìn)行大量的數(shù)據(jù)預(yù)處理,因此會(huì)導(dǎo)致大量的數(shù)據(jù)處理工作。
而且,當(dāng)業(yè)務(wù)發(fā)生變化,需要重新進(jìn)行維度的定義時(shí),往往需要重新進(jìn)行維度數(shù)據(jù)的預(yù)處理。而在這些與處理過程中,往往會(huì)導(dǎo)致大量的數(shù)據(jù)冗余。這種建模方式適用于基于Hive構(gòu)建的數(shù)據(jù)倉庫平臺(tái)上。

寬表模型

寬表模型又稱單例模型,寬表是指一種大表,是將事實(shí)表和維度表進(jìn)行合并形成的表。
比如日期維度,將對(duì)應(yīng)的日期維度的列,直接添加到事實(shí)表中,或者商品維度的列也同步加入到事實(shí)表中。那么這樣事實(shí)表的列就非常的多,它所涉及到的維度基本都涵蓋在了一張表中,俗稱All in one。對(duì)于這樣的表,就稱為寬表?;趯挶?,我們可以針對(duì)這一個(gè)表完成許多業(yè)務(wù)指標(biāo)的開發(fā)。
- 優(yōu)點(diǎn):在數(shù)據(jù)倉庫建設(shè)中,組織相關(guān)和相似數(shù)據(jù),采用明細(xì)寬表,減少數(shù)據(jù)掃描,提高明細(xì)數(shù)據(jù)表的易用性,以及查詢性能。
- 缺點(diǎn):
--數(shù)據(jù)冗余,由于把不同的內(nèi)容都放在同一張表存儲(chǔ),寬表已經(jīng)不符合三范式的模型設(shè)計(jì)規(guī)范,隨之帶來的主要壞處就是數(shù)據(jù)的大量冗余,對(duì)存儲(chǔ)是個(gè)挑戰(zhàn)。
--靈活性差,就比如說線上業(yè)務(wù)表結(jié)構(gòu)變更,寬表模式改造量也比較大。
--開發(fā)流程變長(zhǎng),我們需要去了解業(yè)務(wù)全流程,得需要知道需擴(kuò)展哪些維度,沉淀哪些指標(biāo),這樣就流程會(huì)比較長(zhǎng),特別是有些業(yè)務(wù)快速迭代的話,就有點(diǎn)捉襟見肘。
在Hive中到底選擇寬表還是選擇維度模型呢?
從規(guī)范化的角度來講,數(shù)據(jù)倉庫的設(shè)計(jì)者是希望越規(guī)范越好,因?yàn)檫@樣會(huì)減少數(shù)據(jù)的冗余,而且也便于模型的擴(kuò)展。從反規(guī)范化的角度來講,數(shù)據(jù)倉庫的使用者是希望使用越方便越好,他們并不太關(guān)心規(guī)范不規(guī)范冗余不冗余,只要用著方便就好。這種情況在工作中是十分常見的,那么該怎樣來解決它?下面有兩個(gè)思路:
  • 兩種方式都存。雖然,這樣看起來會(huì)占用更多的存儲(chǔ)空間,但不失為一種合適的解決方案,因?yàn)閷挶硎峭ㄟ^別的表拼接而成的,因此寬表的存儲(chǔ)周期是可以短一些。
  • 只存多個(gè)維度表,通過視圖來創(chuàng)建寬表。這種方式適合于寬表的查詢次數(shù)較少的情況。比如在Hive中,寬表其實(shí)只是為了計(jì)算出來之后導(dǎo)入Es等系統(tǒng)中供其它系統(tǒng)查詢,那么久沒必要存儲(chǔ)一份寬表,直接通過視圖來封裝就可以。
鑒于以上的一些考量,在數(shù)倉底層可以使用星型模型,而寬表則可以存在于更靠后的層次。
數(shù)倉數(shù)據(jù)的分層管理

數(shù)據(jù)倉庫的分層原因有以下幾點(diǎn):

  • 把復(fù)雜問題簡(jiǎn)單化:將復(fù)雜的任務(wù)分解成多層來完成,每一層只處理簡(jiǎn)單任務(wù),方便定位問題。
  • 減少重復(fù)開發(fā):規(guī)范數(shù)據(jù)分層,通過中間層數(shù)據(jù),能夠減少大量的重復(fù)計(jì)算,增加一次計(jì)算結(jié)果的復(fù)用性。
  • 隔離原始數(shù)據(jù):不論是數(shù)據(jù)的異常還是數(shù)據(jù)的敏感性,使真實(shí)數(shù)據(jù)與統(tǒng)計(jì)數(shù)據(jù)解耦開。

數(shù)據(jù)倉庫分層設(shè)計(jì)

不同的公司對(duì)數(shù)倉的層級(jí)考量不完全一致,不過業(yè)界比較通用的有這么幾個(gè)層級(jí):

ODS層

操作數(shù)據(jù)存儲(chǔ)層又稱貼源層,數(shù)據(jù)與原始數(shù)據(jù)的形態(tài)一致,用于存儲(chǔ)各個(gè)系統(tǒng)經(jīng)ETL同步過來的原始數(shù)據(jù)(crm、系統(tǒng)日志等)。在ETL的過程中會(huì)對(duì)數(shù)據(jù)進(jìn)行清洗處理,比如去除或更正數(shù)據(jù)中的錯(cuò)誤值、異常值,客戶年齡登記為1000歲等各種失誤造成的錯(cuò)誤數(shù)據(jù)。
處理數(shù)據(jù)中存在的缺失數(shù)據(jù):統(tǒng)一缺失的樣式,在文本文件中可能是\N NULL 或者 /  - 等表現(xiàn)形式,在進(jìn)行ETL的時(shí)候?qū)⒏袷浇y(tǒng)一,也可以去分析一些缺失的原因,并對(duì)缺失數(shù)據(jù)進(jìn)行補(bǔ)救性的恢復(fù)工作。

DW層

這是數(shù)據(jù)倉庫的核心層,在這一層會(huì)對(duì)原始數(shù)據(jù)進(jìn)行更進(jìn)一步的加工處理。具體的又可以劃分為這么幾個(gè)層次:
  • 數(shù)據(jù)明細(xì)層DWD:明細(xì)層的數(shù)據(jù)粒度與ods層一致,只是做了更進(jìn)一步的清洗和規(guī)范化操作。還可能將一些維度退化到事實(shí)表,從而進(jìn)一步提高后續(xù)應(yīng)用的便利性。
  • 數(shù)據(jù)匯總層DWS:根據(jù)數(shù)據(jù)明細(xì)層做一些匯總操作,生成中間結(jié)果,減少后續(xù)應(yīng)用的重復(fù)加工、重復(fù)計(jì)算。根據(jù)分析主題對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的整合,一般來說是寬表。也可使用維度模型,可參考寬表與維度模型的差異,視情況采用不同策略。

ADS層

數(shù)據(jù)應(yīng)用層(或數(shù)據(jù)集市層),為報(bào)表、用戶畫像等數(shù)據(jù)應(yīng)用提供數(shù)據(jù)支撐(數(shù)據(jù)通過CDM層經(jīng)過進(jìn)一步加工而來),一般會(huì)將ADS層的數(shù)據(jù)同步到關(guān)系型數(shù)據(jù)庫,并將同步ADS數(shù)據(jù)后的關(guān)系型數(shù)據(jù)庫也視為數(shù)據(jù)集市層。后續(xù)用戶一般是基于同步到關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)做分析及應(yīng)用的。
上面介紹的內(nèi)容即為Hive數(shù)據(jù)倉庫建模的介紹。

了解更多數(shù)據(jù)分析知識(shí)、與更多優(yōu)秀的人一起進(jìn)群交流請(qǐng)掃碼

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    大屁股肥臀熟女一区二区视频| 国产超碰在线观看免费| 又黄又爽禁片视频在线观看| 日韩免费国产91在线| 少妇在线一区二区三区| 国产不卡在线免费观看视频| 国产麻豆成人精品区在线观看| 91亚洲国产—区=区a| 日本午夜免费观看视频| 日本99精品在线观看| 一区二区三区在线不卡免费| 日本亚洲欧美男人的天堂| 日韩三极片在线免费播放| 国产免费黄片一区二区| 欧美在线观看视频三区| 热情的邻居在线中文字幕| 婷婷激情五月天丁香社区 | 精品人妻一区二区三区免费看 | 国产精品午夜福利免费阅读 | 久久一区内射污污内射亚洲| 欧洲偷拍视频中文字幕| 日本一区不卡在线观看| 热久久这里只有精品视频| 国产户外勾引精品露出一区| 欧美自拍系列精品在线| 日本加勒比在线观看一区| 亚洲欧美中文日韩综合| 91偷拍视频久久精品| 国产成人精品综合久久久看| 国产免费观看一区二区| 亚洲中文字幕在线视频频道| 亚洲精品日韩欧美精品| 欧美一区二区三区性视频| 亚洲伦片免费偷拍一区| 国产亚州欧美一区二区| 国产精品午夜一区二区三区| 久热青青草视频在线观看| 国产又粗又猛又长又黄视频| 在线中文字幕亚洲欧美一区| 久久福利视频在线观看| 久久亚洲精品中文字幕|