QA:數(shù)倉(cāng)中表的分層,怎樣才合理?

(該問(wèn)題來(lái)自于一位熱心好學(xué)的讀者。非常抱歉,過(guò)了許久才提筆回答。
由于沒(méi)有正兒八緊地做過(guò)數(shù)倉(cāng)開(kāi)發(fā),僅憑個(gè)人淺薄的理解來(lái)回答該問(wèn)題。)

在數(shù)倉(cāng)中,對(duì)表進(jìn)行分層,我理解有三層含義,其一是在物理資源上劃分(存儲(chǔ)資源&運(yùn)算資源),其二是表名稱(chēng)上區(qū)隔,其三是使用權(quán)限上做切分。后兩條為必要條件。

分層的終極目的,就是提高數(shù)據(jù)應(yīng)用的效率。是否合理也許很難有剛性的標(biāo)準(zhǔn),但以我的觀察,需要具備如下特征,即可稱(chēng)為合理:

  • 不同用戶(hù)角色與表的層次,有明確的對(duì)應(yīng)關(guān)系,但未必要求一對(duì)一。比如,分析師、運(yùn)營(yíng)、數(shù)據(jù)研發(fā)、產(chǎn)品經(jīng)理、決策者等,依據(jù)職能邊界和數(shù)據(jù)消費(fèi)特點(diǎn),對(duì)應(yīng)不同層次的使用側(cè)重。
  • 信息的聚合程度,在不同層次上有明顯的不同。越上層的表,信息聚合度越高,量化程度也越高。
  • 表任務(wù)的資源分配、運(yùn)行成本和效率要求,在不同層次上有顯著區(qū)別。
  • 數(shù)據(jù)安全等級(jí)和權(quán)限開(kāi)放的程度,在不同層次上也有所區(qū)別。

下圖呈現(xiàn)我對(duì)分層的理解:


老樹(shù)之見(jiàn)-數(shù)倉(cāng)表的分層邏輯.jpg

如上圖左邊部分,一般來(lái)說(shuō),表都會(huì)分為生產(chǎn)層(ODS)、公共明細(xì)層(DWD)、公共匯總層(DWS)和應(yīng)用層(ADS)。普遍來(lái)說(shuō),合理的數(shù)倉(cāng)分層,可做如下表述:
生產(chǎn)層指從各系統(tǒng)中抽取的數(shù)據(jù),數(shù)量眾多且主題劃分模糊,沒(méi)有做整合。一般除了數(shù)據(jù)研發(fā)和業(yè)務(wù)產(chǎn)研,不向其他角色開(kāi)放。
經(jīng)過(guò)一層ETL后,成為公共明細(xì)層。公共明細(xì)層里的表,往往主題明確,且主題下的各種細(xì)節(jié)數(shù)據(jù)已經(jīng)完成拼裝;如許多公司會(huì)做訂單大寬表,即把各種有必要的信息標(biāo)準(zhǔn)化后,都成為寬表字段。除了產(chǎn)研,這層表會(huì)向分析師和運(yùn)營(yíng)等角色開(kāi)放。
公共匯總層是在明細(xì)層基礎(chǔ)上再做聚合,往往是將重要信息加工為指標(biāo)表和維度表,并將高頻使用的維度退化到指標(biāo)表中。這也就意味著,匯總層表能較好的支撐業(yè)務(wù)分析。這層表往往是使用者最多,業(yè)務(wù)需求最強(qiáng)的,建設(shè)是否健全,是公司內(nèi)部分析提效的關(guān)鍵。另外,這層表的數(shù)據(jù)安全管理也?最需要重視。

應(yīng)用層表相對(duì)特殊,它的內(nèi)容會(huì)來(lái)自于之下的各層表。它一般只服務(wù)與具體的應(yīng)用產(chǎn)品,所以對(duì)產(chǎn)出時(shí)間和運(yùn)行效率要求較高,往往也不對(duì)業(yè)務(wù)運(yùn)營(yíng)、分析師等角色開(kāi)放。

DWD+DWS層,往往稱(chēng)為公共層。公共層建設(shè)得越健壯,整個(gè)公司的數(shù)據(jù)應(yīng)用效率越高。層次越往上,與公司業(yè)務(wù)分析的耦合度或者說(shuō)緊密度越高。如上圖右側(cè)內(nèi)容,則是從我角度更細(xì)的分層的表述:

DWD層一分為二,DWD-Process層可理解為業(yè)務(wù)過(guò)程的抽象。比如線(xiàn)上零售業(yè)務(wù)中,用戶(hù)瀏覽、收藏購(gòu)物車(chē)、下單、支付、收貨各環(huán)節(jié),就是業(yè)務(wù)過(guò)程。DWD-Collection可理解為從各業(yè)務(wù)過(guò)程明細(xì)表中,將高頻使用且重要的信息提取,成為一個(gè)完整業(yè)務(wù)鏈條的信息集成表。比如訂單寬表,就是把下單各個(gè)業(yè)務(wù)過(guò)程中,核心的環(huán)節(jié)進(jìn)行整合,以便在交易分析時(shí)提高效率。

DWS層也能一分為二。Objective一層將可量化的信息提取,聚合到業(yè)務(wù)對(duì)象顆粒度。還是以線(xiàn)上零售為例,用戶(hù)、店鋪、商品等,都是業(yè)務(wù)對(duì)象;而將重要的指標(biāo)和維度整個(gè)為業(yè)務(wù)對(duì)象的匯總表,顯然能大幅度降低分析時(shí)的數(shù)據(jù)獲取成本。Department層更靠近業(yè)務(wù),往往按業(yè)務(wù)部門(mén)的需求,作出一套匯總表。該部門(mén)成員能夠以很低的上手成本,迅速應(yīng)用全面的數(shù)據(jù)。

以上就是我對(duì)數(shù)倉(cāng)表分層的理解,希望能給讀者們帶來(lái)幫助?。有更多問(wèn)題,歡迎關(guān)注公眾號(hào):老樹(shù)之見(jiàn),或發(fā)郵件huchenchuan@hotmail.com進(jìn)行交流。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容