天天看點

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

作者:極目館主

第1章 電商業務與資料結構簡介

1.1 電商業務流程

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

電商業務流程

1.2 電商常識(SKU、SPU)

  • SKU=Stock Keeping Unit(庫存量基本機關)。現在已經被引申為産品統一編号的簡稱,每種産品均對應有唯一的SKU号。
  • SPU(Standard Product Unit):是商品資訊聚合的最小機關,是一組可複用、易檢索的标準化資訊集合。

比如,咱們購買一台iPhoneX手機,iPhoneX手機就是一個SPU,但是你購買的時候,不可能是以iPhoneX手機為機關買的,商家也不可能以iPhoneX為機關記錄庫存SKU。必須要以什麼顔色什麼版本的iPhoneX為機關。比如,你購買的是一台銀色、128G記憶體的、支援聯通網絡的iPhoneX,商家也會以這個機關來記錄庫存數。那這個更細緻的機關就叫庫存單元(SKU)。

那SPU又是幹什麼的呢?

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

SPU

SPU表示一類商品。好處就是:可以共用商品圖檔,海報、銷售屬性等。

1.3 電商表結構

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

電商表結構

1.3.1 訂單表(order_info)

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

訂單表

1.3.2 訂單詳情表(order_detail)

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

訂單詳情表

1.3.3 商品表

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

商品表

1.3.4 使用者表

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

使用者表

1.3.5 商品一級分類表

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

商品一級分類表

1.3.6 商品二級分類表

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

商品二級分類表

1.3.7 商品三級分類表

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

商品三級分類表

1.3.8 支付流水表

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

支付流水表

第2章 數倉理論(面試重點)

2.1 表的分類

2.1.1 實體表

實體表,一般是指一個現實存在的業務對象,比如使用者,商品,商家,銷售員等等。

使用者表:

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

實體表

2.1.2 次元表

次元表,一般是指對應一些業務狀态,編号的解釋表。也可以稱之為碼表。

比如地區表,訂單狀态,支付方式,審批狀态,商品分類等等。

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

次元表

2.1.3 事務型事實表

事務型事實表,一般指随着業務發生不斷産生資料。特點是一旦發生不會再變化。

一般比如,交易流水,記錄檔,出庫入庫記錄等等。

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

事務型事實表

2.1.4 周期型事實表

周期型事實表,一般指随着業務發生不斷産生變化(更新, 新增)的資料。

與事務型不同的是,資料會随着業務周期性的推進而變化。

比如訂單,其中訂單狀态會周期性變化。再比如,請假、貸款申請,随着批複狀态在周期性變化。

訂單表:

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

周期型事實表

2.2 同步政策

資料同步政策的類型包括:全量表、增量表、新增及變化表、拉連結清單

  • 全量表:存儲完整的資料。
  • 增量表:存儲新增加的資料。
  • 新增及變化表:存儲新增加的資料和變化的資料。
  • 拉連結清單:對新增及變化表做定期合并。

2.2.1 實體表同步政策

實體表:比如使用者,商品,商家,銷售員等

實體表資料量比較小:通常可以做每日全量,就是每天存一份完整資料。即每日全量。

2.2.2 次元表同步政策

次元表:比如訂單狀态,審批狀态,商品分類

次元表資料量比較小:通常可以做每日全量,就是每天存一份完整資料。即每日全量。

說明:

1)針對可能會有變化的狀态資料可以存儲每日全量。

2)沒變化的客觀世界的次元(比如性别,地區,民族,政治成分,鞋子尺碼)可以隻存一份固定值。

2.2.3 事務型事實表同步政策

事務型事實表:比如,交易流水,記錄檔,出庫入庫記錄等。

因為資料不會變化,而且資料量巨大,是以每天隻同步新增資料即可,是以可以做成每日增量表,即每日建立一個分區存儲。

2.2.4 周期型事實表同步政策

周期型事實表:比如,訂單、請假、貸款申請等

這類表從資料量的角度,存每日全量的話,資料量太大,備援也太大。如果用每日增量的話無法反應資料變化。

每日新增及變化量,包括了當日的新增和修改。一般來說這個表,足夠計算大部分當日資料的。但是這種依然無法解決能夠得到某一個曆史時間點(時間切片)的切片資料。

是以要用利用每日新增和變化表,制作一張拉連結清單,以友善的取到某個時間切片的快照資料。是以我們需要得到每日新增及變化量。

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

拉連結清單

2.3 範式理論

2.3.1 範式概念

關系型資料庫設計時,遵照一定的規範要求,目的在于降低資料的備援性,目前業界範式有:第一範式(1NF)、第二範式(2NF)、第三範式(3NF)、巴斯-科德範式(BCNF)、第四範式(4NF)、第五範式(5NF)。

範式可以了解為設計一張資料表的表結構,符合的标準級别。

使用範式的根本目的是:

1)減少資料備援,盡量讓每個資料隻出現一次。

2)保證資料一緻性

缺點是擷取資料時,需要通過Join拼接出最後的資料。

2.3.2 函數依賴

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

函數依賴

2.3.3 三範式區分

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

三範式區分

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

二範式區分

項目實戰從0到1之大資料項目之電商數倉:系統業務資料倉庫

三範式區分

未完待續

繼續閱讀