成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

數(shù)倉建模—寬表的設(shè)計

運維 數(shù)據(jù)庫運維
寬表主要出現(xiàn)在dwd 層和報表層,當(dāng)然有的人說dws 層也有,寬表,從字面意義上講就是字段比較多的數(shù)據(jù)庫表,通常情況下是將很多相關(guān)的數(shù)據(jù)包括維度表、實時、已有的指標或者是dws/dwd 表關(guān)聯(lián)在一起形成的一張數(shù)據(jù)表。
本文轉(zhuǎn)載自微信公眾號「大數(shù)據(jù)技術(shù)派」,作者大數(shù)據(jù)技術(shù)派 。轉(zhuǎn)載本文請聯(lián)系大數(shù)據(jù)技術(shù)派公眾號。
  • 寬表的設(shè)計
    • 為什么要建設(shè)寬表
    • 寬表的好處和不足
    • 如何設(shè)計寬表
  • 總結(jié)

寬表的設(shè)計

其實寬表是數(shù)倉里面非常重要的一塊,前面我們介紹過了維度表事實表,今天我們介紹一下寬表,前面我們說過了數(shù)倉是分層的,這是技術(shù)進步和時代變化相結(jié)合的產(chǎn)物,數(shù)倉的分層式為了更好地管理數(shù)倉以及更加高效地進行數(shù)據(jù)開發(fā)。

寬表主要出現(xiàn)在dwd 層和報表層,當(dāng)然有的人說dws 層也有,寬表,從字面意義上講就是字段比較多的數(shù)據(jù)庫表,通常情況下是將很多相關(guān)的數(shù)據(jù)包括維度表、實時、已有的指標或者是dws/dwd 表關(guān)聯(lián)在一起形成的一張數(shù)據(jù)表。

由于把不同的內(nèi)容都放在同一張表存儲,寬表已經(jīng)不符合范式設(shè)計的模型設(shè)計規(guī)范而且數(shù)倉里面也不強調(diào)范式設(shè)計,隨之帶來的就是數(shù)據(jù)的大量冗余,與之相對應(yīng)的好處就是查詢性能的提高與便捷。

分層 請參考 數(shù)倉建模—分層建設(shè)理論

設(shè)計 請參考 數(shù)倉建模—建模方法論

為什么要建設(shè)寬表

就像我們前面說過分層的目的是為了管理方便、開發(fā)高效、問題定位、節(jié)約資源等等,那么我們建設(shè)寬表呢?前面學(xué)習(xí)建模方法論的時候,提到過維度模型的非強范式的,可以更好的利用大數(shù)據(jù)處理框架的處理能力,避免范式操作的過多關(guān)聯(lián)操作,可以實現(xiàn)高度的并行化。數(shù)據(jù)倉庫大多數(shù)時候是比較適合使用星型模型構(gòu)建底層數(shù)據(jù)Hive表,通過大量的冗余來提升查詢效率,星型模型對OLAP的分析引擎支持比較友好,這一點在Kylin中比較能體現(xiàn)。

可以更好的發(fā)揮大數(shù)據(jù)框架的能力

維度模型可以更好地利用大數(shù)據(jù)框架,體現(xiàn)在哪里的,體現(xiàn)在數(shù)據(jù)數(shù)據(jù)冗余,可以避免很多的關(guān)聯(lián),怎么體現(xiàn)的呢,寬表。但是這只是站在大數(shù)據(jù)框架層面上的理解,還有其他層面上的理解。

可以提高開發(fā)效率

一般情況下,我們的寬表包含了很多相關(guān)的數(shù)據(jù),如果我們在寬表的基礎(chǔ)上做一些開發(fā),那就很方便,我們直接從寬表里面取數(shù)據(jù),避免了我們從頭計算,你設(shè)想一下你要是沒次都從ods開發(fā)一張報表,那是多痛苦的體驗啊。

可以提高數(shù)據(jù)質(zhì)量

寬表的準確性,一般都是經(jīng)歷了時間的檢驗的,邏輯錯誤的可能性很小,可以直接使用,要是讓你從頭開發(fā),那這個過程中可能因為對業(yè)務(wù)理解不透徹或者是書寫的邏輯不正確,導(dǎo)致有數(shù)據(jù)質(zhì)量問題

可以統(tǒng)一指標口徑

其實這一點和上面一點有點重復(fù),但是這兩點的強調(diào)的方面是不一樣的,因為如果我們的報表要是都能從我們的底層寬表出,那么我們報表上的指標肯定是一樣的,其實這一點我相信很多人都深有體會,同一個指標的口徑不一致,導(dǎo)致我們提供的數(shù)據(jù)在不同的出口不一樣,是業(yè)務(wù)部門經(jīng)常提出的一個問題。其實這也就是我們一直強調(diào)的核心邏輯下沉的原因。

寬表的好處和不足

寬表的好處就是我們前面提到過的我們?yōu)槭裁匆ㄔO(shè)寬表的原因,接下來我們看一下寬表的不足

性能不高

因為我們的寬表的計算邏輯往往很復(fù)雜,再加上寬表的數(shù)據(jù)輸入是有大量依賴的,也就是說需要處理的數(shù)據(jù)量很大,在負載邏輯+大數(shù)據(jù)量的原因下,導(dǎo)致我們的寬表往往運行很慢,資源占用很多,尤其是重跑的時候。

穩(wěn)定性不高

下面的最后一張表就是一張寬表,我們知道一個系統(tǒng)的穩(wěn)定性是取決于最差的一個環(huán)節(jié)的,這就是短板理論也叫木桶理論,我們的寬表的穩(wěn)定性也是很差的,這個主要是因為我們的寬表依賴太多,每一個表的不穩(wěn)定性都會傳到到寬表。

假設(shè) 一張表依賴A B C 三張表,并且這三張表的穩(wěn)定性是 1/m 1/n 1/x,那么我們的寬表的穩(wěn)定性就是 1/m*n*x ,至于表的穩(wěn)定性你可用它成功運行的次數(shù)/運行的總次數(shù)

如果性能不高和穩(wěn)定性不高同時作用在一件事上的時候我們知道這其實是很致命的,例如你發(fā)現(xiàn)報表數(shù)據(jù)有問題,但是重跑需要幾個小時,哈哈!

開發(fā)難度大/維護成本高

我們說了基于寬表做報表開發(fā)才是正確的姿勢,但是寬表本身也是我們開發(fā)人員開發(fā)的,因為本身的邏輯很復(fù)雜設(shè)計的業(yè)務(wù)邏輯繁多,所以給我們的開發(fā)就帶來了挑戰(zhàn),而且由于業(yè)務(wù)邏輯的變更我們也需要去維護著復(fù)雜的邏輯,例如每次都讓你在幾千行的SQL 里面加邏輯。

如何設(shè)計寬表

寬表的好處和不足我們都講了,也就是說寬表雖好,但是帶來的問題也很多,下面我們就看一下如何從設(shè)計的角度來避免寬表的不足之處

寬表到底多寬

開始之前,我們思考一個問題,那就是寬表到底有多寬,就想我們前面講分層的時候說其實我們不分層也玩得轉(zhuǎn),早起的數(shù)倉就只有一層,現(xiàn)在我們考慮一個問題那就是寬表到底多寬才合適,其實你要把所有的數(shù)據(jù)裝進去也可以。

所以我們要思考到底多寬才合適的,前面我們介紹過數(shù)據(jù)域的概念,我們與其回答多寬這個問題,不如回答寬表都應(yīng)該覆蓋哪些數(shù)據(jù),但是這個問題也不好回答,但是我們可以反著思考,寬表不應(yīng)該包含什么數(shù)據(jù),這個問題很好回答,寬表不應(yīng)該包含不屬于它所在域的數(shù)據(jù),例如會員域的寬表只應(yīng)該包含會員相關(guān)的信息,同理我們的寬表是針對某一個域而言的,也就是說它是有邊界的。

這下我們再來回答寬表到底多寬,只要不跨域,并且方便使用都是合理的。但是這似乎并不能解決我們上面提到的寬表的不足,只是指明了寬表的一個大致的方向。有了方向之后我們通過我們的設(shè)計策略就可以讓寬表瘦下來。

主次分類

主次分離,其實我們經(jīng)常聽到的一句話就是做事情要搞清楚主次,我們看一下表設(shè)計的主次是什么,假設(shè)我們做的是一個會員域的寬表,但是會員域是還是一個比較大的概念,所以我們還要發(fā)掘出我們這個表的主題,例如我們做的是一張會員域下的會員基本信息寬表,那么我們專注的肯定就是基本信息,例如會員信息打通。當(dāng)讓因為事寬表你可能還會冗余的其他信息進來,但是當(dāng)這樣的信息越來越多的時候,我們這張表的主題就越來越弱,所以我們就需要做拆分。

拆分可以讓我們更加聚焦表的主題,對于數(shù)倉開發(fā)人員而言可以更好的維護、對于使用方而言可以更加清楚的理解這張表的主題。

冷熱分離

除了前面的主次分離我們還可以做冷熱分離,其實冷熱分離這個詞我相信你不是第一次聽到,但是怎么看這個事情呢,你想一下你在數(shù)據(jù)存儲的時候是怎么做冷熱分離的,這里也是同樣的理念。

假設(shè)我有一張寬表,里面有200個字段,有30張報表在使用它,但是我發(fā)現(xiàn)前面150個經(jīng)常字段經(jīng)常被使用,后面 50個字段只有一兩張報表使用到了,那么我們就可以做一個冷熱分離,將寬表拆分。

穩(wěn)定與不穩(wěn)定分離

其實前面的主次分離、冷熱分離都可以提高穩(wěn)定性,但是前面我們不是為了穩(wěn)定性分離的。

我們經(jīng)常有這樣的寬表,它依賴埋點數(shù)據(jù),但是我們的埋點數(shù)據(jù)的特點就是量大,導(dǎo)致計算經(jīng)常延遲,那么我們的寬表就會受影響,從而我們的報表就受影響,但是很多時候你發(fā)現(xiàn)報表根本沒有用過埋點計算出來的指標,或者是只用了一兩個。那我們可以將其拆分,如果報表沒有使用到那就最好了,如果使用到了,那就后推,在報表層面上做關(guān)聯(lián),這樣我們的埋點數(shù)據(jù)即使出不來,我們的報表數(shù)據(jù)還是可以看的。

總結(jié)

主要講解了一下幾個方面

  • 為什么要建設(shè)寬表
  • 寬表的不足
  • 如何設(shè)計寬表
    • 寬表到底多寬
    • 主次分離
    • 冷熱分類
    • 穩(wěn)定與不穩(wěn)定分類 

設(shè)計寬表的理論其實說白了就是一句話高內(nèi)聚低耦合,當(dāng)然這幾個字你在其他領(lǐng)域可能很熟悉了,但是這里你就好好思考一下才能想通,我一直新信奉的是一力降十會 一拙破萬巧 也就是說你要學(xué)會根本的東西,才能舉一反三破萬難。

 

責(zé)任編輯:武曉燕 來源: 大數(shù)據(jù)技術(shù)派
相關(guān)推薦

2021-08-11 07:53:22

數(shù)倉維度建模

2022-03-01 17:16:16

數(shù)倉建模ID Mapping

2024-04-30 00:00:00

數(shù)倉維度建模

2021-01-04 05:42:48

數(shù)倉模型設(shè)計

2023-08-15 08:12:12

數(shù)倉建模數(shù)倉建設(shè)

2023-11-23 16:59:37

數(shù)據(jù)倉庫建模

2024-05-22 09:48:04

2022-08-22 17:46:56

虛擬數(shù)倉Impala

2022-07-26 15:38:58

數(shù)據(jù)倉數(shù)據(jù)治理數(shù)據(jù)團隊

2022-11-04 18:28:31

數(shù)倉建模大數(shù)據(jù)

2021-01-31 23:54:23

數(shù)倉模型

2023-02-20 07:33:47

Teradata數(shù)據(jù)倉庫

2021-10-13 07:23:03

數(shù)據(jù)同步倉庫

2023-01-03 17:43:39

網(wǎng)易郵箱數(shù)倉

2024-04-16 07:18:54

指標平臺數(shù)倉數(shù)智化分析

2022-08-16 14:17:50

數(shù)據(jù)倉庫數(shù)據(jù)治理數(shù)據(jù)職場

2025-06-11 02:45:00

2022-09-15 09:32:42

數(shù)據(jù)倉處理

2023-11-23 16:53:56

數(shù)據(jù)倉庫大數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产亚洲精品美女久久久久久久久久 | 亚洲国产福利视频 | 一区二区三区四区不卡视频 | 色婷婷亚洲一区二区三区 | 欧美99 | 亚洲 中文 欧美 日韩 在线观看 | ww 255hh 在线观看 | www.精品国产 | 国产精品福利在线观看 | 网站国产 | 精品日韩一区 | 日日碰碰| 观看av | 亚洲激情在线视频 | 欧美舔穴| 粉嫩高清一区二区三区 | 91av视频 | 天天综合网7799精品 | 欧美激情五月 | 精品国产一二三区 | 成人美女免费网站视频 | 国产精品久久久久久久久久久久 | 国产精品一区二区视频 | 免费黄色录像片 | 久久久久久久久国产精品 | 成人综合在线视频 | 国产亚洲欧美日韩精品一区二区三区 | 精品在线观看一区 | 久久久久亚洲精品 | 日日碰碰| 最新日韩在线 | 国产精品高 | 91精品国产自产在线老师啪 | 久久尤物免费一区二区三区 | 亚洲精品一 | 黄色大片在线免费观看 | 亚洲免费福利视频 | 亚洲日韩中文字幕一区 | 天天干狠狠干 | 亚洲综合天堂网 | 日日日操 |