阿里大數(shù)據(jù)體系分為四層巧颈,由下而上分別是數(shù)據(jù)采集層、數(shù)據(jù)計算層袖扛、數(shù)據(jù)服務(wù)層和數(shù)據(jù)應(yīng)用層砸泛。
一、數(shù)據(jù)采集分為日志采集和數(shù)據(jù)庫數(shù)據(jù)同步兩部分:
日志采集體系方案包括瀏覽器頁面日志采集(采用Aplus.JS)和無線客戶端日志采集(使用UserTrack的SDK采集)攻锰,瀏覽器日志采集分為頁面瀏覽日志采集(PV晾嘶、UV)和頁面交互日志采集(獲知用戶興趣點(diǎn)或者體驗(yàn)優(yōu)化點(diǎn)),無線端日志采集將日志行為分成不同的“事件”包括頁面事件(同頁面瀏覽)娶吞、控件點(diǎn)擊事件(同頁面交互)等垒迂。
對于既有Native又有H5頁面嵌入的APP, Native用采集SDK進(jìn)行日志采集妒蛇,H5頁面一般用瀏覽器頁面采集方式机断。由于考慮到后期日志數(shù)據(jù)處理的便捷性、合理性绣夺、準(zhǔn)確性吏奸、計算成本等,所以需要統(tǒng)一日志處理方案陶耍。選擇使用采集SDK的方式奋蔚。原因有二:一是可以采集到更多設(shè)備相關(guān)的數(shù)據(jù);二是當(dāng)網(wǎng)絡(luò)狀況不佳時會先緩存到本地而后借機(jī)上傳烈钞,保證數(shù)據(jù)不會丟失泊碑。采集之后需要進(jìn)行離線預(yù)處理:一是識別流量攻擊、網(wǎng)絡(luò)爬蟲毯欣、流量作弊馒过;二是數(shù)據(jù)缺項(xiàng)點(diǎn)補(bǔ)正;三是無效數(shù)據(jù)的剔除酗钞、四是日志隔離分發(fā)(某些需要)腹忽,經(jīng)過清洗修正以及結(jié)構(gòu)化之后采集流程就算完成了。
數(shù)據(jù)同步就是不同系統(tǒng)之間的數(shù)據(jù)流轉(zhuǎn)砚作,對于大數(shù)據(jù)系統(tǒng)來說窘奏,包含從業(yè)務(wù)系統(tǒng)同步進(jìn)入數(shù)據(jù)倉庫和從數(shù)據(jù)倉庫同步進(jìn)入數(shù)據(jù)服務(wù)或數(shù)據(jù)應(yīng)用。書中主要講前者葫录。
數(shù)據(jù)同步的方式有三種:直聯(lián)同步蔼夜、數(shù)據(jù)文件同步和數(shù)據(jù)庫日志解析同步。
直連同步是通過標(biāo)準(zhǔn)的API接口直接連接業(yè)務(wù)庫压昼。配置簡單易實(shí)現(xiàn)求冷,適合操作型業(yè)務(wù)系統(tǒng)的數(shù)據(jù)同步瘤运,但對源系統(tǒng)性能影響大,不適合從業(yè)務(wù)系統(tǒng)到數(shù)據(jù)倉庫的同步匠题。
數(shù)據(jù)文件同步是源系統(tǒng)按照約定生成數(shù)據(jù)文本文件拯坟,由專門的文件服務(wù)器(FTP)傳到目標(biāo)系統(tǒng)。比較簡單韭山,適合數(shù)據(jù)源包含多個異構(gòu)數(shù)據(jù)庫時的數(shù)據(jù)同步以及互聯(lián)網(wǎng)日志類數(shù)據(jù)同步郁季,同時通過壓縮加密課提高傳輸效率和安全性,但由于通過文件服務(wù)器上傳钱磅、下載可能會造成丟包或者錯誤(通常加校驗(yàn)文件)梦裂。
數(shù)據(jù)庫日志解析同步時通過解析日志文件獲取發(fā)生變更的數(shù)據(jù),滿足增量數(shù)據(jù)同步的需求盖淡。它實(shí)現(xiàn)了實(shí)時和準(zhǔn)實(shí)時同步的能力年柠,性能好、效率高褪迟,對業(yè)務(wù)系統(tǒng)的性能影響小冗恨,廣泛應(yīng)用于業(yè)務(wù)系統(tǒng)到數(shù)據(jù)倉庫到增量數(shù)據(jù)同步應(yīng)用中。但是它業(yè)務(wù)系統(tǒng)批量補(bǔ)錄超出處理峰值會造成數(shù)據(jù)延時味赃;需要在源數(shù)據(jù)和目標(biāo)數(shù)據(jù)庫中部署實(shí)時抽取系統(tǒng)掀抹,投入大;存在數(shù)據(jù)漂移和遺漏(指同一個業(yè)務(wù)日期數(shù)據(jù)中包含前一天或者后一天凌晨附近的數(shù)據(jù)或者丟失當(dāng)天到數(shù)據(jù)變更數(shù)據(jù))
阿里數(shù)據(jù)倉庫同步的特點(diǎn):第一是數(shù)據(jù)來源的多樣性心俗;第二是數(shù)據(jù)量大(每天PB傲武,存儲EB)
對于批量數(shù)據(jù)的同步使用DataX,它能滿足多方向高自由度的異構(gòu)數(shù)據(jù)交換服務(wù)城榛,采用分布式模式傳輸揪利。先將作業(yè)Job切分為可并發(fā)的小任務(wù)Task,然后通過數(shù)據(jù)讀入模塊Reader將將其從源系統(tǒng)裝載到DataX吠谢。通過Channel將數(shù)據(jù)從Reader轉(zhuǎn)換到Writer土童,由Writer將數(shù)據(jù)從DataX導(dǎo)入目標(biāo)數(shù)據(jù)系統(tǒng)诗茎。
對于實(shí)時數(shù)據(jù)同步褥赊,使用TimeTunnel實(shí)時傳輸平臺葛家,它是一個消息中間件,采用訂閱機(jī)制。原理是通過日志交換中心难礼,解析業(yè)務(wù)書籍庫系統(tǒng)中的binlog或者歸檔文件,將增量的書籍以書籍流方式同步到日志交換中心踪古,通知相關(guān)數(shù)據(jù)倉庫來獲取湘捎。
二、數(shù)據(jù)計算層包含兩大體系:
數(shù)據(jù)存儲及計算云平臺(MaxComputer離線計算平臺和StreamComputer流式實(shí)時計算平臺)和數(shù)據(jù)整合及管理平臺(OneDate矾柜,構(gòu)建統(tǒng)一阱驾、規(guī)范就谜、可共享的全域數(shù)據(jù)體系,避免數(shù)據(jù)的冗余和重復(fù)建設(shè)里覆,避免數(shù)據(jù)煙囪和不一致性)丧荐。
1.???MaxCompute離線計算引擎
提供了一個包含統(tǒng)一授權(quán),資源管理喧枷,數(shù)據(jù)控制和權(quán)限分配等為一體的集成管理方案虹统,并提供一個易用的客戶端,支撐Web隧甚、SDK车荔、CLT、IDE等4種訪問模式戚扳。集群數(shù)量可以到幾萬臺忧便,安全控制能力加強(qiáng)。
由四部分組成:客戶端咖城、接入層茬腿、邏輯層、存儲與計算層宜雀。
邏輯層又稱控制層切平,是核心部分:worker處理請求、scheduler負(fù)責(zé)調(diào)度和拆解辐董、executor負(fù)責(zé)執(zhí)行悴品。
計算核心就是網(wǎng)傳的飛天內(nèi)核,包括Pangu(盤古分布式文件系統(tǒng))简烘、Fuxi(伏羲資源調(diào)度系統(tǒng))苔严、Shennong(神農(nóng)監(jiān)控模塊)等。
特點(diǎn):第一計算性能高更加普惠孤澎;第二集群規(guī)模大且穩(wěn)定性高届氢;第三功能組件強(qiáng)大;第四安全性高覆旭。
2.????統(tǒng)一開發(fā)平臺
D2開發(fā)平臺——在彼岸—(SQLSCAN)—D2發(fā)布系統(tǒng)——DQC
(1) D2在云端退子,集開發(fā)、調(diào)試型将、發(fā)布寂祥、調(diào)度、運(yùn)維于一體的一站式數(shù)據(jù)開發(fā)平臺七兜。
(2) SQLSCAN規(guī)則校驗(yàn)丸凭,包括代碼規(guī)范類、質(zhì)量類、性能類惜犀。
(3)DQC(數(shù)據(jù)質(zhì)量中心)主要關(guān)注數(shù)據(jù)質(zhì)量铛碑,主要有數(shù)據(jù)監(jiān)控和數(shù)據(jù)清洗兩大功能。
(4)在彼岸(自動化測試平臺)主要將通用的虽界、重復(fù)性的操作沉淀在測試平臺中亚茬,提高測試效率。主要包含的組件有:數(shù)據(jù)對比浓恳、數(shù)據(jù)分布刹缝、數(shù)據(jù)脫敏。利用在彼岸進(jìn)行功能測試的兩個場景:業(yè)務(wù)新增需求和數(shù)據(jù)遷移颈将、重構(gòu)和修改梢夯。
3.????實(shí)時技術(shù)
基于TimeTunnel來進(jìn)行實(shí)時數(shù)據(jù)的采集,采用StreamCompute進(jìn)行流式處理晴圾。
實(shí)時模型跟離線模型的建模理念是一致的颂砸,比如阿里的流式模型分為五層,ODS層死姚、DWD層人乓、DWS層、ADS層及DIM層都毒。
三色罚、數(shù)據(jù)服務(wù)層
數(shù)據(jù)服務(wù)層的數(shù)據(jù)源架構(gòu)在多種數(shù)據(jù)庫之上,數(shù)據(jù)服務(wù)可以使應(yīng)用對于底層數(shù)據(jù)存儲透明账劲,將海量數(shù)據(jù)方便高效的開放給集團(tuán)內(nèi)部各應(yīng)用使用戳护。
數(shù)據(jù)服務(wù)層對外提供數(shù)據(jù)服務(wù)主要是通過統(tǒng)一的數(shù)據(jù)服務(wù)平臺OneService,提供簡單數(shù)據(jù)查詢瀑焦,復(fù)雜數(shù)據(jù)查詢和實(shí)時數(shù)據(jù)推送三大特色數(shù)據(jù)服務(wù)腌且。
1.??數(shù)據(jù)服務(wù)平臺演進(jìn)過程
DWSOA: 一個需求一個接口,編碼實(shí)現(xiàn)接口榛瓮,接口數(shù)5000/年铺董。煙囪式開發(fā),很難沉淀共性數(shù)據(jù)禀晓,隨著業(yè)務(wù)需求的增加精续,接口增加,維護(hù)成本高匆绣。
OpenAPI: 按照統(tǒng)計粒度進(jìn)行聚合驻右,同樣維度的數(shù)據(jù)什黑,形成一張邏輯表崎淳。一類需求一個接口,借口樹200/年愕把。
SmartDQ:DSL(Domain Specific Language,領(lǐng)域?qū)S谜Z言)來描述取數(shù)需求拣凹,支撐標(biāo)準(zhǔn)的SQL森爽,所有的簡單查詢服務(wù)減少到另一個接口,降低了數(shù)據(jù)服務(wù)的維護(hù)成本嚣镜。
OneService:提供多種服務(wù)類型來滿足客戶需求爬迟,分別是OneService-SmartDQ、OneService-Lego菊匿、OneService-iPush付呕、OneService-uTiming。
2.???數(shù)據(jù)挖掘平臺
架構(gòu)于阿里云MaxCompute跌捆、GPU等計算集群之上徽职,計算框架是MPI(跨語言的通訊協(xié)議),核心算法(分類佩厚、回歸姆钉、聚類、推薦等算法)基于阿里云的MaxCompute的MPI抄瓦。
阿里將數(shù)據(jù)中臺分為三層:
特征層——(FDM)存儲特征指標(biāo)潮瓶,統(tǒng)一清洗去噪
中間層——個體中間層(IDM)存儲通用性強(qiáng)的結(jié)果數(shù)據(jù)(如商品、買家钙姊、賣家等維度)
關(guān)系中間層(RDM)存儲通用性強(qiáng)的關(guān)系數(shù)據(jù)(如商品相似關(guān)系毯辅、競爭關(guān)系)
應(yīng)用層——(ADM)沉淀比較個性偏應(yīng)用的數(shù)據(jù)挖掘指標(biāo)
3.??數(shù)據(jù)建模
數(shù)據(jù)建模師為了能更好地組織和存儲數(shù)據(jù)。在性能(減少I/O吞吐量)煞额、成本(減少冗余)悉罕、效率(改善用戶體驗(yàn))、質(zhì)量(改善計算口徑的不一致立镶,減少計算錯誤)上取得最佳平衡壁袄。
(1)模型介紹及阿里模型發(fā)展:
ER模型:數(shù)據(jù)倉庫之父Inmon推崇,符合3NF范式媚媒,是站在企業(yè)角度進(jìn)行面向主題的抽象嗜逻,不是針對某個具體業(yè)務(wù)流程,不能直接用于分析策略缭召。
優(yōu):規(guī)范性好栈顷、冗余小、數(shù)據(jù)集成和一致性得到重視嵌巷。適用于較大企業(yè)戰(zhàn)略及規(guī)劃萄凤。
缺:需全面了解企業(yè)業(yè)務(wù)、數(shù)據(jù)和關(guān)系搪哪,對建模人員要求高靡努,周期長,成本高。
維度模型: 以分析決策為出發(fā)點(diǎn)構(gòu)建模型惑朦,有大規(guī)模復(fù)雜查詢的響應(yīng)性能兽泄,更直接面向業(yè)務(wù)。典型的有星型漾月、雪花型病梢。
優(yōu):能相對快速的上手,快速交付梁肿。
缺:冗余多蜓陌、靈活性差、適合單一吩蔑、簡單的報表系統(tǒng)护奈。
阿里建模三個階段:
第一階段:以滿足報表需求為目的,數(shù)據(jù)同步到Oracle哥纫,分ODS和DSS兩層霉旗。
第二階段:構(gòu)建出一個四層的模型架構(gòu),即ODL(數(shù)據(jù)操作層)+BDL(基礎(chǔ)數(shù)據(jù)層)+IDL(接口數(shù)據(jù)層)+ADL(應(yīng)用數(shù)據(jù)層)蛀骇。ODL與源系統(tǒng)一致厌秒,BDL希望引入ER模型,構(gòu)建一致的基礎(chǔ)數(shù)據(jù)模型擅憔,IDL基于維度模型方法構(gòu)建集市層鸵闪,ADL完成應(yīng)用的個性化和數(shù)據(jù)組裝。但業(yè)務(wù)快速發(fā)展暑诸,人員快速變化蚌讼、業(yè)務(wù)知識功底的不夠全面,導(dǎo)致ER模型產(chǎn)出困難个榕。
第三階段:選擇了以Kimball的維度建模為核心理念的模型方法論篡石,進(jìn)行了一定的升級和擴(kuò)展。數(shù)據(jù)倉庫的數(shù)據(jù)鏈路分為四層:ODS操作數(shù)據(jù)層西采、DWD明細(xì)數(shù)據(jù)層凰萨、DWS匯總數(shù)據(jù)層、ADS應(yīng)用數(shù)據(jù)層械馆。
ODS操作數(shù)據(jù)層:存放從業(yè)務(wù)系統(tǒng)采集過來的最原始數(shù)據(jù)胖眷。
CDM公共維度模型層:以維度模型方法為基礎(chǔ),存放明細(xì)事實(shí)霹崎、維表珊搀、公共指標(biāo)匯總數(shù)據(jù)。
明細(xì)數(shù)據(jù)層DWD尾菇,面向業(yè)務(wù)過程建模境析,如事務(wù)型事實(shí)寬表囚枪。采用一些維度退化方法,將維度退化至事實(shí)表中簿晓,減少事實(shí)表和維表的關(guān)聯(lián),提高明細(xì)數(shù)據(jù)表的易用性千埃。憔儿;
匯總數(shù)據(jù)層DWS,面向分析主題建模放可,如買家谒臼、賣家。加強(qiáng)指標(biāo)的維度退化耀里,采取更多的寬表化手段構(gòu)建公共指標(biāo)數(shù)據(jù)層蜈缤,提升公共指標(biāo)的復(fù)用性。
ADS應(yīng)用數(shù)據(jù)層:存放數(shù)據(jù)產(chǎn)品個性化的統(tǒng)計指標(biāo)數(shù)據(jù)冯挎,根據(jù)CDM與ODS加工生成底哥。?
(2)模型實(shí)施:
以維度建模為理論基礎(chǔ),構(gòu)建總線矩陣房官,劃分和定義數(shù)據(jù)域趾徽、業(yè)務(wù)過程、維度翰守、度量孵奶、原子指標(biāo)、修飾類型蜡峰、修飾詞了袁、時間、周期湿颅、派生指標(biāo)(原子+時間周期修飾詞+其它修飾詞)载绿。
數(shù)據(jù)調(diào)研:包括業(yè)務(wù)調(diào)研和需求分析。需要業(yè)務(wù)系統(tǒng)的業(yè)務(wù)進(jìn)行了解油航,收集分析師運(yùn)營人員對數(shù)據(jù)或者報表的需求卢鹦。
架構(gòu)設(shè)計:數(shù)據(jù)域劃分和構(gòu)建總線矩陣。數(shù)據(jù)域劃分是指面向業(yè)務(wù)分析劝堪,將業(yè)務(wù)過程或者維度進(jìn)行抽象的集合冀自,業(yè)務(wù)過程可以概括為一個個不可拆分的行為事件,如下單秒啦、支付等熬粗。構(gòu)建總線矩陣需要明確每個數(shù)據(jù)域下游哪些業(yè)務(wù)過程,業(yè)務(wù)過程與哪些維度相關(guān)余境,并定義每個數(shù)據(jù)域下的業(yè)務(wù)過程和維度驻呐。
(舉例:商品域灌诅、日志域、交易域含末、客服和銷售域猜拾、工具和服務(wù)域、互動域佣盒、信用風(fēng)控域)
規(guī)范定義:主要定義指標(biāo)體系挎袜,包括原子指標(biāo)、修飾詞肥惭、時間周期和派生指標(biāo)盯仪。
模型設(shè)計:主要包括維度及屬性的規(guī)范定義、維表蜜葱、明細(xì)事實(shí)表和匯總事實(shí)表的模型設(shè)計全景。
維度:維度建模中,將“度量稱為事實(shí)”牵囤,將環(huán)境描述為“維度”爸黄。維度是用于分析事物所需要點(diǎn)多樣的環(huán)境。如分析交易過程可通過買/賣家揭鳞、商品馆纳、時間等維度描述交易發(fā)生的環(huán)境。
事實(shí)表:維度建模的核心汹桦,緊緊圍繞業(yè)務(wù)過程設(shè)計鲁驶。
(1)事物型事實(shí)表:描述業(yè)務(wù)過程的行為,保存最原子的數(shù)據(jù)舞骆。數(shù)據(jù)粒度通常是每個事物一條記錄钥弯,只插入,增量更新督禽。
(2)周期快照事實(shí)表:以具有規(guī)律性的脆霎、可預(yù)見的時間間隔來記錄事實(shí),記錄的是這個時間段內(nèi)一些聚集事實(shí)值或者狀態(tài)度量狈惫,只插入睛蛛,增量更新。
(3)累計快照事實(shí)表:用來跟蹤實(shí)體的一系列業(yè)務(wù)過程的進(jìn)展情況胧谈,通常具有多個字段忆肾,可對數(shù)據(jù)進(jìn)行更新。
四菱肖、數(shù)據(jù)應(yīng)用層
阿里主要介紹了對外的數(shù)據(jù)產(chǎn)品平臺生意參謀和服務(wù)于內(nèi)部的數(shù)據(jù)產(chǎn)品平臺客冈。
(1)生意參謀本質(zhì)上就是為自己的渠道提供的增值服務(wù),是很成功的一款決策支持產(chǎn)品稳强,通過七個板塊:首頁场仲、實(shí)時直播和悦、經(jīng)營分析、市場行情渠缕、自助取數(shù)鸽素、專題工具、數(shù)據(jù)學(xué)院亦鳞,實(shí)現(xiàn)看我情馍忽、看行情、看敵情
(2)對內(nèi)數(shù)據(jù)產(chǎn)品的演進(jìn)可以指導(dǎo)每一個公司BI系統(tǒng)的發(fā)展蚜迅,從臨時取數(shù)階段舵匾,到自動化報表階段(比如BIEE)俊抵,再到自主研發(fā)BI階段(第三方滿足不了自己了)谁不,最后到數(shù)據(jù)產(chǎn)品平臺(更加體系化)。
總結(jié):數(shù)據(jù)在產(chǎn)品中的應(yīng)用:
表現(xiàn)在搜索徽诲、推薦刹帕、金融、廣告谎替、信用偷溺、保險、等各個方面钱贯。
第一挫掏,提供給商家,可以指導(dǎo)商家的數(shù)據(jù)化運(yùn)營秩命,比如生意參謀(通過七個板塊:首頁尉共、實(shí)時直播、經(jīng)營分析弃锐、市場行情袄友、自助取數(shù)、專題工具霹菊、數(shù)據(jù)學(xué)院剧蚣,實(shí)現(xiàn)看我情、看行情旋廷、看敵情)
第二鸠按,提供給內(nèi)部的搜索、推薦饶碘、廣告等平臺待诅,可以實(shí)現(xiàn)更好的搜索體驗(yàn),更精準(zhǔn)的個性化推薦
第三熊镣,提供給內(nèi)部員工卑雁,如客服募书、運(yùn)營小2、管理人員等测蹲,讓數(shù)據(jù)負(fù)能商業(yè)莹捡,指導(dǎo)運(yùn)營決策,驅(qū)動業(yè)務(wù)增長扣甲,創(chuàng)造價值篮赢。?
附:
元數(shù)據(jù)(實(shí)在不知道應(yīng)該放到哪里去):元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù)
按用途分類:技術(shù)元數(shù)據(jù)和業(yè)務(wù)元數(shù)據(jù)
技術(shù)元數(shù)據(jù)用于開發(fā)和管理數(shù)倉,如表大小琉挖、責(zé)任人启泣、存放位置等。
業(yè)務(wù)元數(shù)據(jù)如OneDate元數(shù)據(jù)示辈、數(shù)據(jù)應(yīng)用元數(shù)據(jù)等寥茫,可以讓業(yè)務(wù)直接看懂。
在元數(shù)據(jù)模型整合上分為:
數(shù)據(jù)源元數(shù)據(jù)矾麻、數(shù)據(jù)倉庫元數(shù)據(jù)纱耻、數(shù)據(jù)鏈路元數(shù)據(jù)、工具類元數(shù)據(jù)险耀、數(shù)據(jù)質(zhì)量類元數(shù)據(jù)等弄喘。
應(yīng)用:
[if !supportLists]第一,? [endif]指導(dǎo)數(shù)據(jù)使用者快速找到所需數(shù)據(jù)甩牺。
[if !supportLists]第二蘑志,? [endif]對數(shù)倉開發(fā)(ETL)工程師,指導(dǎo)模型設(shè)計贬派、優(yōu)化任務(wù)和任務(wù)下線急但。
[if !supportLists]第三,? [endif]對于運(yùn)維工程師赠群,可指導(dǎo)其進(jìn)行整個集群的存儲羊始、計算和系統(tǒng)優(yōu)化運(yùn)維等運(yùn)維工作。
總之查描,元數(shù)據(jù)的應(yīng)用面向數(shù)據(jù)發(fā)現(xiàn)突委、數(shù)據(jù)管理等,如用于存儲冬三、計算和成本管理等匀油。