阿里大數(shù)據(jù)之路:數(shù)據(jù)模型篇大總結(jié)(大數(shù)據(jù)之路阿里巴巴大數(shù)據(jù)實(shí)踐)
今天給各位分享阿里大數(shù)據(jù)之路:數(shù)據(jù)模型篇大總結(jié)的知識(shí),其中也會(huì)對(duì)大數(shù)據(jù)之路阿里巴巴大數(shù)據(jù)實(shí)踐進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!
本文目錄一覽:
7.阿里大數(shù)據(jù)——大數(shù)據(jù)建模
數(shù)據(jù)模型就是數(shù)據(jù)組織和存儲(chǔ)方法,它強(qiáng)調(diào)從業(yè)務(wù)、數(shù)據(jù)存取和使用角度合理存儲(chǔ)數(shù)據(jù)。
適合業(yè)務(wù)和基礎(chǔ)數(shù)據(jù)存儲(chǔ)環(huán)境的模型,大數(shù)據(jù)能獲得以下好處:
大數(shù)據(jù)系統(tǒng)需要數(shù)據(jù)模型方法來(lái)幫助更好的組織和存儲(chǔ)數(shù)據(jù),以便在性能、成本、效率和質(zhì)量之間取得最佳平衡。
不管是Hadoop、Spark還是阿里巴巴集團(tuán)的MaxCompute系統(tǒng),仍然在大規(guī)模使用SQL進(jìn)行數(shù)據(jù)的加工和處理,仍然在用Table存儲(chǔ)數(shù)據(jù),仍然在使用關(guān)系理論描述數(shù)據(jù)之間的關(guān)系,只是在大數(shù)據(jù)領(lǐng)域,基于其數(shù)據(jù)存取的特點(diǎn)在關(guān)系數(shù)據(jù)模型的范式上有了不同的選擇而已。
從全企業(yè)的高度設(shè)計(jì)一個(gè)3NF模型,用實(shí)體關(guān)系(Entity Relationship,ER)模型描述企業(yè)業(yè)務(wù),在范式理論上符合3NF。數(shù)據(jù)倉(cāng)庫(kù)中的3NF與OLTP中不同過(guò),有以下特點(diǎn):
ER模型建設(shè)數(shù)據(jù)倉(cāng)庫(kù)的出發(fā)點(diǎn)是整合數(shù)據(jù),為數(shù)據(jù)分析決策服務(wù)。建模步驟分為三個(gè)階段:
維度建模從分析決策的需求出發(fā)構(gòu)建模型,為分析需求服務(wù),因此它重點(diǎn)關(guān)注用戶如何更快速地完成需求分析,同時(shí)具有較好的大規(guī)模復(fù)雜查詢的響應(yīng)性能。其典型代表事星形模型,以及在一些特殊場(chǎng)景下使用的雪花模型。其設(shè)計(jì)步驟如下:
它是ER模型的衍生,其設(shè)計(jì)的出發(fā)點(diǎn)也是為了實(shí)現(xiàn)數(shù)據(jù)的整合,但不能直接用于數(shù)據(jù)分析決策。它強(qiáng)調(diào)建立一個(gè)可審計(jì)的基礎(chǔ)數(shù)據(jù)層,也就是強(qiáng)調(diào)數(shù)據(jù)的歷史性、可追溯性和原子性,而不要求對(duì)數(shù)據(jù)進(jìn)行過(guò)度的一致性處理和整合。該模型由一下幾部分組成:
Anchor對(duì)Data Vault模型做了進(jìn)一步規(guī)范化處理,設(shè)計(jì)的初衷是一個(gè)高度可擴(kuò)展的模型,其核心思想是所有的擴(kuò)展只是添加而不是修改,因此將模型規(guī)范到6NF,基本變成了k-v結(jié)構(gòu)化模型。組成如下:
經(jīng)歷了多個(gè)階段:
大數(shù)據(jù)之路
人類從“IT時(shí)代”進(jìn)入“DT時(shí)代”。本書(shū)介紹了阿里巴巴的大數(shù)據(jù)系統(tǒng)架構(gòu),為了滿足不斷變化的業(yè)務(wù)需求,同時(shí)實(shí)現(xiàn)系統(tǒng)的 高擴(kuò)展性 、 靈活性 以及 數(shù)據(jù)展現(xiàn)的高性能 。
數(shù)據(jù)體系主要包括: 數(shù)據(jù)采集 、 數(shù)據(jù)計(jì)算 、 數(shù)據(jù)服務(wù) 和 數(shù)據(jù)應(yīng)用 四大層次。
事實(shí)表包括引用的 維度 和描述具體業(yè)務(wù)的 度量 。
事實(shí)表中一條記錄描述的業(yè)務(wù)的細(xì)節(jié)程度稱為 粒度 。粒度可以使用兩種方式來(lái)表示:(1)維度屬性組合(2)所表示的具體業(yè)務(wù)含義。
事實(shí)包括可加性、半可加性和不可加性三種類型:
半可加性:只可以針對(duì)特定維度做聚合,例如庫(kù)存(不能按照日期,可按照倉(cāng)庫(kù)聚合)。
可加性:可以按照任意維度聚合。
不可加性:完全不具備可加性。(例如:比率,事實(shí)表可以拆分存儲(chǔ)分子分母)
維度屬性也可以存到事實(shí)表中,稱為 退化維度 。
事實(shí)表有三種類型:事務(wù)事實(shí)表、周期快照事實(shí)表、累計(jì)快照事實(shí)表。
事務(wù)事實(shí)表描述的是業(yè)務(wù)過(guò)程上的原子事務(wù),也稱為 原子事實(shí)表 。
周期快照事實(shí)表是按照周期性規(guī)律的時(shí)間間隔記錄事實(shí)。
累計(jì)快照事實(shí)表:累計(jì)快照事實(shí)表用來(lái)表示過(guò)程開(kāi)始和結(jié)束過(guò)程之間的關(guān)鍵步驟事件,覆蓋整個(gè)生命周期,通常用多個(gè)日期字段記錄關(guān)鍵時(shí)間點(diǎn),記錄會(huì)隨著時(shí)間變化而修改。
事實(shí)表設(shè)計(jì)原則:
原則1: 盡可能包含所有與業(yè)務(wù)過(guò)程相關(guān)的事實(shí)。
即時(shí)存在冗余,也盡可能存儲(chǔ)。
原則2:只選擇與業(yè)務(wù)過(guò)程相關(guān)的事實(shí)。
原則3:分解不可加事實(shí)為可加的組件。
例如:不存成單率,轉(zhuǎn)而存儲(chǔ)成單數(shù)和提單數(shù)。
原則4:選擇維度和事實(shí)前,必須先聲明粒度。
建議粒度設(shè)置的越細(xì)越好,這樣可以最大限度的提高靈活性??梢酝ㄟ^(guò)業(yè)務(wù)描述或者維度屬性組合的方式來(lái)定義粒度。
原則5:在同一個(gè)事實(shí)表中,不應(yīng)該有不同粒度的事實(shí)。
例如:一個(gè)事實(shí)表中不應(yīng)該包含某些精確到訂單粒度的度量,同時(shí)又包含只精確到城市的度量。
原則6:事實(shí)的單位一致。
原則7:盡量處理掉事實(shí)表中的null值。
SQL中大于,小于的條件不適用與null值,所以盡量用數(shù)值替代null,例如0.
原則8:使用退化維度增加事實(shí)表的易用性。
在Kimball的維度設(shè)計(jì)模型中,分拆出單獨(dú)的維度表,為了節(jié)省存儲(chǔ)。但是為了減少使用時(shí)的關(guān)聯(lián)次數(shù),可以多使用退化維度提供事實(shí)表易用性。
事實(shí)表設(shè)計(jì)方法:
1.選擇業(yè)務(wù)過(guò)程及確定事實(shí)表類型。2. 聲明粒度。3.確定維度。4.確定事實(shí)。5.冗余維度(設(shè)計(jì)退化維度)。
事務(wù)事實(shí)表,即針對(duì)業(yè)務(wù)過(guò)程構(gòu)建的一類事實(shí)表,用來(lái)跟蹤定義業(yè)務(wù)過(guò)程的個(gè)體行為,提供豐富的分析能力,作為數(shù)據(jù)倉(cāng)庫(kù)原子的明細(xì)數(shù)據(jù)。
單事務(wù)事實(shí)表,即針對(duì)每一個(gè)業(yè)務(wù)過(guò)程設(shè)計(jì)一個(gè)事實(shí)表,這樣可以方便地對(duì)每一個(gè)業(yè)務(wù)過(guò)程進(jìn)行分析研究。
表示同一個(gè)事實(shí)表包含不同的業(yè)務(wù)過(guò)程。多事務(wù)事實(shí)表有兩種實(shí)現(xiàn)方法:(1)使用兩個(gè)不同的事實(shí)字段來(lái)保存各自業(yè)務(wù)過(guò)程。(2)使用同一個(gè)字段保存,但是增加一個(gè)業(yè)務(wù)過(guò)程標(biāo)簽。
下面舉例說(shuō)明,淘寶交易事務(wù)事實(shí)表同時(shí)包含下單、支付和成功完結(jié)三個(gè)過(guò)程,三個(gè)過(guò)程粒度一致,可以放在一個(gè)事實(shí)表。下面確定維度和事實(shí),該表中的下單度量、支付度量和成功完結(jié)度量信息分別存在不同字段,如果不是當(dāng)前業(yè)務(wù)處理,則用0來(lái)處理。
當(dāng)不同業(yè)務(wù)過(guò)程的度量比較相似、差異不大時(shí)使用第二種事實(shí)表(使用一個(gè)字段保存),當(dāng)不同業(yè)務(wù)過(guò)程的度量差異大時(shí),使用第一種(多字段保存)。
對(duì)于單事務(wù)事實(shí)表和多事務(wù)事實(shí)表的選擇上,可以從以下一些方面來(lái)區(qū)分:
業(yè)務(wù)過(guò)程、粒度和維度(不同業(yè)務(wù)過(guò)程粒度相同,并且維度相似時(shí),可以選用單事務(wù)事實(shí)表)、事實(shí)、下游業(yè)務(wù)使用、計(jì)算存儲(chǔ)成本。電商環(huán)境下,有父子訂單的概念,店鋪多商品各生成一個(gè)訂單,在一個(gè)店鋪合成一個(gè)父訂單。
1.事實(shí)完整性:事實(shí)表包含與其描述的過(guò)程有關(guān)的所有事實(shí)。
2.事實(shí)一致性:明確存儲(chǔ)每一個(gè)事實(shí)以確保度量一致性。例如,有下單商品數(shù)和商品價(jià)格2個(gè)事實(shí),同時(shí)保存下單金額(價(jià)格*商品數(shù))。這樣下游使用時(shí),直接取下單金額,而不是再次計(jì)算,以保證指標(biāo)的一致性。
3.事實(shí)可加性:為確保下游使用時(shí),指標(biāo)的可聚合性,盡量保存原始數(shù),而不是計(jì)算后的比率指標(biāo)。
對(duì)于事務(wù)度量,事務(wù)性事實(shí)表可以很好地表征。但是對(duì)于一些 狀態(tài)度量 ,例如買(mǎi)賣(mài)家累計(jì)交易金額、商品庫(kù)存、買(mǎi)賣(mài)家星級(jí)、溫度(事務(wù)事實(shí)表無(wú)法聚合得到)等,事務(wù)事實(shí)表的效率較低或者無(wú)法處理。為了解決狀態(tài)度量問(wèn)題,引入周期性快照事實(shí)表(也稱為 快照事實(shí)表 )。
1.用快照采樣狀態(tài):快照事實(shí)表以預(yù)定的間隔采樣狀態(tài)度量。
2.快照粒度:快照事實(shí)表通??偸潜欢嗑S聲明,即快照需要采樣的周期以及什么將被采樣。
3.密度和稠密性:稠密性是快照事實(shí)表的重要特征。事務(wù)事實(shí)表一般都是稀疏的,只要發(fā)生業(yè)務(wù)才會(huì)有相應(yīng)記錄。
4.半可加性:快照事實(shí)表的狀態(tài)度量都是半可加的,例如商品庫(kù)存,只針對(duì)商品維度可加,對(duì)日期維度不可加。
設(shè)計(jì)快照事實(shí)表,首先確定快照粒度,然后確定采樣的狀態(tài)度量。下面介紹幾個(gè)快照事實(shí)表實(shí)例。
單維度每天快照事實(shí)表、混合維度每天快照事實(shí)表,這兩種快照表都可以從事務(wù)事實(shí)表匯總得到。另外的一種產(chǎn)出模式是直接使用操作型系統(tǒng)作為數(shù)據(jù)源來(lái)加工,例如淘寶賣(mài)家的星級(jí)評(píng)分是在操作型系統(tǒng)中計(jì)算得出的,倉(cāng)庫(kù)直接拿來(lái)這部分?jǐn)?shù)據(jù)加入事實(shí)表。全量快照事實(shí)表,是特殊類型的周期快照表,例如設(shè)計(jì)無(wú)事實(shí)的事實(shí)表來(lái)記錄評(píng)論的狀態(tài)度量。
對(duì)于研究事件之間的時(shí)間間隔需求時(shí),累計(jì)快照事實(shí)表能較好符合需求。
特點(diǎn):
1.數(shù)據(jù)不斷更新:例如,在下單、支付和確認(rèn)收貨三個(gè)業(yè)務(wù)過(guò)程中,事務(wù)事實(shí)表會(huì)生成3條記錄,而累計(jì)快照表會(huì)不斷更新一條記錄(不生成新記錄)。
2.多業(yè)務(wù)過(guò)程日期:
累計(jì)快照表適用于具有較明確起止時(shí)間的短生命周期的實(shí)體,對(duì)于每個(gè)實(shí)體都經(jīng)歷從誕生到消亡等步驟。
3.存儲(chǔ)歷史全量數(shù)據(jù)。
1.事件類的,例如瀏覽日志。
2.條件范圍資格類的,例如客戶和銷售人員的分配情況。
主要是提前聚合,為了增加數(shù)據(jù)訪問(wèn)的效率(不用再聚合了),減少數(shù)據(jù)不一致的情況。這類聚集匯總數(shù)據(jù),被稱為“公共匯總層”。
聚集的基本步驟:1.確定聚集維度。2.確定一致性上鉆。3.確定聚集事實(shí)。
元數(shù)據(jù)主要記錄數(shù)據(jù)倉(cāng)庫(kù)中模型的定義、各層級(jí)間映射關(guān)系、監(jiān)控?cái)?shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)狀態(tài)及ETL任務(wù)的運(yùn)行狀態(tài)。元數(shù)據(jù)分為 技術(shù)元數(shù)據(jù) 和 業(yè)務(wù)元數(shù)據(jù) 。
阿里巴巴技術(shù)元數(shù)據(jù)包括:
數(shù)據(jù)表、列等信息;ETL作業(yè)的信息;數(shù)據(jù)同步、任務(wù)調(diào)度、計(jì)算任務(wù)等信息。數(shù)據(jù)質(zhì)量和運(yùn)維相關(guān)元數(shù)據(jù)。
阿里巴巴業(yè)務(wù)元數(shù)據(jù)包括:
維度屬性、業(yè)務(wù)過(guò)程、指標(biāo)等。數(shù)據(jù)應(yīng)用元數(shù)據(jù),例如數(shù)據(jù)報(bào)表、數(shù)據(jù)產(chǎn)品等。
元數(shù)據(jù)價(jià)值:
元數(shù)據(jù)在數(shù)據(jù)管理方面為集團(tuán)數(shù)據(jù)在計(jì)算、存儲(chǔ)、成本、質(zhì)量、安全、模型等治理領(lǐng)域上提供數(shù)據(jù)支持。
阿里MaxCompute提供了archive壓縮方法,采用了具有更高壓縮比壓縮算法,將數(shù)據(jù)以RAID file的形式存儲(chǔ)。這樣可以節(jié)省空間,但是恢復(fù)起來(lái)也更復(fù)雜,所以適用于冷備份的數(shù)據(jù)。
MaxCompute基于列存儲(chǔ),通過(guò)修改表的數(shù)據(jù)重分布,避免列熱點(diǎn),將會(huì)節(jié)省一定存儲(chǔ)空間。
存儲(chǔ)治理項(xiàng)以元數(shù)據(jù)為基礎(chǔ),列出例如“62天內(nèi)未訪問(wèn)的分區(qū)”、“數(shù)據(jù)無(wú)更新的任務(wù)列表”等等管理項(xiàng)推動(dòng)ETL優(yōu)化。形成現(xiàn)狀分析、問(wèn)題診斷、管理優(yōu)化、效果反饋的存儲(chǔ)治理項(xiàng)優(yōu)化的閉環(huán)。
生命周期管理的目的是用最少的存儲(chǔ)成本來(lái)滿足最大業(yè)務(wù)需求,實(shí)現(xiàn)數(shù)據(jù)價(jià)值最大化。
1.周期性刪除策略:
2.徹底刪除策略:主要針對(duì)無(wú)用表,ETL中間過(guò)程表。
3.永久保存策略:
4.極限存儲(chǔ)策略:
5.冷數(shù)據(jù)管理策略:針對(duì)重要且訪問(wèn)頻率低的數(shù)據(jù)。
6.增量表merge全量表策略:
將一個(gè)數(shù)據(jù)表的成本分為存儲(chǔ)成本和計(jì)算成本,除此之外,上游表對(duì)該表的掃描成本也應(yīng)該計(jì)入。相應(yīng)的計(jì)費(fèi)分別核算為:計(jì)算付費(fèi)、存儲(chǔ)付費(fèi)和掃描付費(fèi)。數(shù)據(jù)資產(chǎn)的成本管理分為數(shù)據(jù)成本計(jì)量和數(shù)據(jù)使用計(jì)費(fèi)。
6.阿里大數(shù)據(jù)——數(shù)據(jù)服務(wù)
數(shù)據(jù)部門(mén)產(chǎn)出的海量數(shù)據(jù),如何能方便高效地開(kāi)放出去,是我們一直要解決的難題。
(1)元數(shù)據(jù)模型
數(shù)據(jù)源——物理表——邏輯表——主題
(2)架構(gòu)圖
看不懂
看不懂
阿里大數(shù)據(jù)之路:數(shù)據(jù)模型篇大總結(jié)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于大數(shù)據(jù)之路阿里巴巴大數(shù)據(jù)實(shí)踐、阿里大數(shù)據(jù)之路:數(shù)據(jù)模型篇大總結(jié)的信息別忘了在本站進(jìn)行查找喔。
掃描二維碼推送至手機(jī)訪問(wèn)。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。