(該問題來自于一位熱心好學(xué)的讀者。非常抱歉铣除,過了許久才提筆回答谚咬。
由于沒有正兒八緊地做過數(shù)倉開發(fā),僅憑個人淺薄的理解來回答該問題尚粘。)
在數(shù)倉中择卦,對表進行分層,我理解有三層含義郎嫁,其一是在物理資源上劃分(存儲資源&運算資源)秉继,其二是表名稱上區(qū)隔,其三是使用權(quán)限上做切分泽铛。后兩條為必要條件尚辑。
分層的終極目的,就是提高數(shù)據(jù)應(yīng)用的效率盔腔。是否合理也許很難有剛性的標準杠茬,但以我的觀察,需要具備如下特征弛随,即可稱為合理:
- 不同用戶角色與表的層次瓢喉,有明確的對應(yīng)關(guān)系,但未必要求一對一舀透。比如栓票,分析師、運營盐杂、數(shù)據(jù)研發(fā)逗载、產(chǎn)品經(jīng)理、決策者等链烈,依據(jù)職能邊界和數(shù)據(jù)消費特點厉斟,對應(yīng)不同層次的使用側(cè)重。
- 信息的聚合程度强衡,在不同層次上有明顯的不同擦秽。越上層的表,信息聚合度越高,量化程度也越高感挥。
- 表任務(wù)的資源分配缩搅、運行成本和效率要求,在不同層次上有顯著區(qū)別触幼。
- 數(shù)據(jù)安全等級和權(quán)限開放的程度硼瓣,在不同層次上也有所區(qū)別。
下圖呈現(xiàn)我對分層的理解:
如上圖左邊部分置谦,一般來說堂鲤,表都會分為生產(chǎn)層(ODS)、公共明細層(DWD)媒峡、公共匯總層(DWS)和應(yīng)用層(ADS)瘟栖。普遍來說,合理的數(shù)倉分層谅阿,可做如下表述:
生產(chǎn)層指從各系統(tǒng)中抽取的數(shù)據(jù)半哟,數(shù)量眾多且主題劃分模糊,沒有做整合签餐。一般除了數(shù)據(jù)研發(fā)和業(yè)務(wù)產(chǎn)研寓涨,不向其他角色開放。
經(jīng)過一層ETL后贱田,成為公共明細層缅茉。公共明細層里的表,往往主題明確男摧,且主題下的各種細節(jié)數(shù)據(jù)已經(jīng)完成拼裝蔬墩;如許多公司會做訂單大寬表,即把各種有必要的信息標準化后耗拓,都成為寬表字段拇颅。除了產(chǎn)研,這層表會向分析師和運營等角色開放乔询。
公共匯總層是在明細層基礎(chǔ)上再做聚合樟插,往往是將重要信息加工為指標表和維度表,并將高頻使用的維度退化到指標表中竿刁。這也就意味著黄锤,匯總層表能較好的支撐業(yè)務(wù)分析。這層表往往是使用者最多食拜,業(yè)務(wù)需求最強的鸵熟,建設(shè)是否健全,是公司內(nèi)部分析提效的關(guān)鍵负甸。另外流强,這層表的數(shù)據(jù)安全管理也?最需要重視痹届。
應(yīng)用層表相對特殊,它的內(nèi)容會來自于之下的各層表打月。它一般只服務(wù)與具體的應(yīng)用產(chǎn)品队腐,所以對產(chǎn)出時間和運行效率要求較高,往往也不對業(yè)務(wù)運營奏篙、分析師等角色開放柴淘。
DWD+DWS層,往往稱為公共層报破。公共層建設(shè)得越健壯悠就,整個公司的數(shù)據(jù)應(yīng)用效率越高千绪。層次越往上充易,與公司業(yè)務(wù)分析的耦合度或者說緊密度越高。如上圖右側(cè)內(nèi)容荸型,則是從我角度更細的分層的表述:
DWD層一分為二盹靴,DWD-Process層可理解為業(yè)務(wù)過程的抽象。比如線上零售業(yè)務(wù)中瑞妇,用戶瀏覽稿静、收藏購物車、下單辕狰、支付改备、收貨各環(huán)節(jié),就是業(yè)務(wù)過程蔓倍。DWD-Collection可理解為從各業(yè)務(wù)過程明細表中悬钳,將高頻使用且重要的信息提取,成為一個完整業(yè)務(wù)鏈條的信息集成表偶翅。比如訂單寬表默勾,就是把下單各個業(yè)務(wù)過程中,核心的環(huán)節(jié)進行整合聚谁,以便在交易分析時提高效率母剥。
DWS層也能一分為二。Objective一層將可量化的信息提取形导,聚合到業(yè)務(wù)對象顆粒度环疼。還是以線上零售為例,用戶朵耕、店鋪炫隶、商品等,都是業(yè)務(wù)對象憔披;而將重要的指標和維度整個為業(yè)務(wù)對象的匯總表等限,顯然能大幅度降低分析時的數(shù)據(jù)獲取成本爸吮。Department層更靠近業(yè)務(wù),往往按業(yè)務(wù)部門的需求望门,作出一套匯總表形娇。該部門成員能夠以很低的上手成本,迅速應(yīng)用全面的數(shù)據(jù)筹误。
以上就是我對數(shù)倉表分層的理解桐早,希望能給讀者們帶來幫助?。有更多問題厨剪,歡迎關(guān)注公眾號:老樹之見哄酝,或發(fā)郵件huchenchuan@hotmail.com進行交流。