您好,登錄后才能下訂單哦!
?隨著企業(yè)的發(fā)展,其內(nèi)部集聚的數(shù)據(jù)也會越來越多,如何保證整個企業(yè)不同業(yè)務(wù)數(shù)據(jù)的一致性、準(zhǔn)確性以及數(shù)據(jù)的快速服務(wù)能力,是每個企業(yè)在數(shù)據(jù)累計到一定數(shù)量時都將面臨的問題。以下內(nèi)容為我們公司的治理方式,僅供大家參考。
?公司目前累計數(shù)據(jù)為P級,日新增數(shù)據(jù)為T級,數(shù)據(jù)主要為結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù),采用hive建設(shè)數(shù)據(jù)倉庫的方式進(jìn)行數(shù)據(jù)處理,同時嚴(yán)格按照倉庫的建設(shè)規(guī)范進(jìn)行,以保證數(shù)倉中的數(shù)據(jù)層次清晰,各層間的數(shù)據(jù)具有完整的一致性,同時保障hive每日跑批生成的數(shù)據(jù)準(zhǔn)確性。數(shù)據(jù)的獲取到數(shù)據(jù)提供到最終的應(yīng)用方,數(shù)據(jù)倉庫中,我們將其分為源數(shù)據(jù)層、操作數(shù)據(jù)層、數(shù)倉公共層、集市層四個層次。
1.數(shù)據(jù)源包含實時數(shù)據(jù)和離線數(shù)據(jù)兩種,實時數(shù)據(jù)通過kafka+storm的方式采集,離線數(shù)據(jù)則通過sqoop從各業(yè)務(wù)從庫獲取,數(shù)據(jù)采集到后會根據(jù)數(shù)據(jù)本身特性分別進(jìn)入stage和ods,stage區(qū)的數(shù)據(jù)處理過后也會存入ods中,對后面的服務(wù)統(tǒng)一由ods提供(什么數(shù)據(jù)放入stage區(qū)后面會講到);
2.數(shù)倉公共層的數(shù)據(jù)統(tǒng)一來自于ods,其自身總共包含明細(xì)層(DWD)和匯總層(DWS),匯總層的數(shù)據(jù)又分為輕度匯總數(shù)據(jù)(DWB)和重度匯總數(shù)據(jù)(DWS);
3.數(shù)據(jù)集市層(DM)的數(shù)據(jù)主要用來為業(yè)務(wù)需求提供服務(wù),其包含應(yīng)用產(chǎn)品所需數(shù)據(jù)、需求報表、指標(biāo)等,同時該層還可為業(yè)務(wù)部門創(chuàng)建專用數(shù)據(jù)庫以及數(shù)據(jù)探索庫。
?
下面分別將數(shù)倉中的ods層、dwd層、dws層、dm層分開展示:
?
ods層建設(shè):
?無論是web端還是app端的log數(shù)據(jù)采集到后會統(tǒng)一傳送到kafka中,經(jīng)storm簡單處理后存放到stage庫中;對于業(yè)務(wù)庫中量級較大的表(比如金融支付相關(guān)表,每天都是上億的記錄,并且還會對最近60天交易記錄存在更新的情況),我們采取增量抽取的方式先放入stage,保證數(shù)據(jù)每天可以快速進(jìn)入數(shù)倉,然后再根據(jù)業(yè)務(wù)需要處理后放入ods庫。
?
dwd層建設(shè):
?dwd層是數(shù)倉非常重要的一個層次,上層數(shù)據(jù)的主要來源地,也是完成數(shù)據(jù)管理的重要入口,因此該層的數(shù)據(jù)處理要求較多。我們主要按照以下方式進(jìn)行建設(shè):
(1)數(shù)據(jù)粒度鎖定,該層數(shù)據(jù)跟ods層的數(shù)據(jù)粒度一致,都為明細(xì)級數(shù)據(jù),區(qū)別在于該層會剔除掉測試數(shù)據(jù);
(2)數(shù)據(jù)標(biāo)準(zhǔn)統(tǒng)一,該層需要保證同樣含義的數(shù)據(jù)具有一致的標(biāo)準(zhǔn),比如姓名這類數(shù)據(jù),無論其在之前的業(yè)務(wù)庫中叫什么,該層任何表中該字段統(tǒng)一命名為name;同時對于性別類數(shù)據(jù),一些業(yè)務(wù)記錄為F/M,一些記錄為男/女,該層任何表中統(tǒng)一存儲為男/女;
(3)如果原始數(shù)據(jù)中存在電話號碼、×××號碼之類的敏感數(shù)據(jù),在該層需要進(jìn)行脫敏,此后表中記錄的數(shù)據(jù)皆為脫敏后的數(shù)據(jù),并且建立專門的敏感數(shù)據(jù)庫對原始敏感數(shù)據(jù)進(jìn)行備份存儲;
(4)多源數(shù)據(jù)整合,對于同類型數(shù)據(jù),但由于業(yè)務(wù)需要在業(yè)務(wù)庫是分庫分表存儲的數(shù)據(jù),在該層需要進(jìn)行統(tǒng)一為一張表;
(5)既然是數(shù)據(jù)倉庫建設(shè),則應(yīng)該按照數(shù)據(jù)模型的建設(shè)方式進(jìn)行,該層數(shù)據(jù)模型統(tǒng)一基于業(yè)務(wù)流程進(jìn)行建模,采用kimball維度建模的方式處理變動性較大的業(yè)務(wù),采用Inmon范式建模的方式處理穩(wěn)定性較高的主題;
?
dws層建設(shè):
?dws層包含了兩部分?jǐn)?shù)據(jù),輕度匯總數(shù)據(jù)(dwb)和重度匯總數(shù)據(jù)(dws),輕度匯總數(shù)據(jù)主要存儲以用戶、產(chǎn)品、協(xié)議等為維度各業(yè)務(wù)線進(jìn)行的簡單統(tǒng)計數(shù)據(jù);重度匯總數(shù)據(jù)來源包括dwd和dwb,其主要記錄多業(yè)務(wù)的統(tǒng)計數(shù)據(jù)和時間跨度大的統(tǒng)計數(shù)據(jù),dws的數(shù)據(jù)大多以寬表形式存在。
?
dm層建設(shè):
?數(shù)據(jù)集市層的數(shù)據(jù)主要用作直接的數(shù)據(jù)服務(wù),數(shù)據(jù)服務(wù)對象包括:分析報表、應(yīng)用產(chǎn)品數(shù)據(jù)、BI、tableu、探索數(shù)據(jù)等,根據(jù)需要該層可以創(chuàng)建多個數(shù)據(jù)庫,以滿足業(yè)務(wù)需要為主。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。