資料倉儲建模

2022-09-14 10:21:08 字數 1216 閱讀 6095

是原始資料,儲存總hdfs上

lzo壓縮:

解壓速度非常快

允許在壓縮部分以損失壓縮速度為代價提高壓縮率,解壓速度不會降低。

演算法無損,執行緒安全

需構建維度模型,一般採用星型模型,呈現的狀態一般為星座模型

維度建模的過程:

選擇業務

一條業務線對應一張事實表

宣告粒度

精確定義事實表中的一行資料表示什麼,應該盡可能選擇最小粒度,以此來應各種各樣的需求。

eg:支付事實表中一行資料表示的是乙個支付記錄。

訂單事實表中一行資料表示的是乙個訂單中的乙個商品項。

確定維度:

維度的主要作用是描述業務是事實,主要表示的是「誰,何處,何時」等資訊。

確定維度的原則是:後續需求中是否要分析相關維度的指標。例如,需要統計,什麼時間下的訂單多,哪個地區下的訂單多,哪個使用者下的訂單多。需要確定的維度就包括:時間維度、地區維度、使用者維度。

確定事實

此處的「事實」一詞,指的是業務中的度量值(次數、個數、件數、金額,可以進行累加),例如訂單金額、下單次數等。

在dwd層,以業務過程為建模驅動,基於每個具體業務過程的特點,構建最細粒度的明細層事實表。事實錶可做適當的寬表化處理。

事實表和維度表的關聯比較靈活,但是為了應對更複雜的業務需求,可以將能關聯上的表盡量關聯上。

至此,資料倉儲的維度建模已經完畢,dwd層是以業務過程為驅動。

dws層、dwt層和ads層都是以需求為驅動,和維度建模已經沒有關係了。

dws和dwt都是建寬表,按照主題去建表。主題相當於觀察問題的角度。對應著維度表。

dws層和dwt層統稱寬表層,這兩層的設計思想大致相同

問題引出:兩個需求,統計每個省份訂單的個數、統計每個省份訂單的總金額

處理辦法:都是將省份表和訂單表進行join,group by省份,然後計算。同樣資料被計算了兩次,實際上類似的場景還會更多

那怎麼設計能避免重複計算呢?

針對上述場景,可以設計一張地區寬表,其主鍵為地區id,字段包含為:下單次數、下單金額、支付次數、支付金額等。上述所有指標都統一進行計算,並將結果儲存在該寬表中,這樣就能有效避免資料的重複計算。

總結:對電商系統各大主題指標分別進行分析。

資料倉儲 建模

粒度概述 粒度問題時設計資料倉儲的乙個最重要方面。粒度時指資料倉儲的資料單位中儲存資料的細化或綜合成都的級別。細化程度越高,粒度就越小 相反,細化程度越低,粒度級就越大。資料的粒度一直時乙個設計問題。資料倉儲環境中粒度之所以時主要的設計問題,是因為它深深地影響存放在資料倉儲中的資料量的大小。同時影響...

資料倉儲建模

一 資料倉儲建模的意義 如果把資料看作圖書館裡的書,我們希望看到它們在書架上分門別類地放置 如果把資料看作城市的建築,我們希望城市規劃布局合理 如果把資料看作電腦檔案和資料夾,我們希望按照自己的習慣有很好的資料夾組織方式,而不是糟糕混亂的桌面,經常為找乙個檔案而不知所措。資料模型就是資料組織和儲存方...

資料倉儲建模參考

資料倉儲建模案例 資料倉儲建模規範1.0 資料倉儲優化資料分析 資料倉儲的建模方法 資料倉儲維度集定義 寬表的思考 寬表從字面意義上講就是字段比較多的資料庫表。通常是指業務主題相關的指標 維度 屬性關聯在一起的一張資料庫表。由於把不同的內容都放在同一張表儲存,寬表已經不符合三正規化的模型設計規範,隨...