自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)倉(cāng)庫(kù)分層架構(gòu)深度講解

開發(fā) 架構(gòu) 數(shù)據(jù)倉(cāng)庫(kù)
本篇文章主要講解數(shù)倉(cāng)項(xiàng)目中為什么分層,比如我們?cè)谕瓿梢粋€(gè)需要的需求的時(shí)候也許只需要一個(gè)復(fù)雜的SQL語(yǔ)句就可以完成。

[[373365]]

前言

我們?cè)跀?shù)倉(cāng)項(xiàng)目的時(shí)候往往是需要將它分層的,但是為什么分層你真正的了解過(guò)嗎,那它分層的好處又是什么呢。好我們今天就針對(duì)這個(gè)話題進(jìn)行講解。如果你還不了解數(shù)倉(cāng)中的模型可以去看這篇(數(shù)倉(cāng)模型設(shè)計(jì)詳細(xì)講解),編寫不易請(qǐng)給個(gè)一鍵三連。圖片

一、為什么要分層

分層的主要原因是在管理數(shù)據(jù)的時(shí)候,能對(duì)數(shù)據(jù)有一個(gè)更加清晰的掌控,詳細(xì)來(lái)講,主要有下面幾個(gè)原因:

清晰數(shù)據(jù)結(jié)構(gòu):

每一個(gè)數(shù)據(jù)分層都有它的作用域,這樣我們?cè)谑褂帽淼臅r(shí)候能更方便地定位和理解。

方便數(shù)據(jù)血緣追蹤:

簡(jiǎn)單來(lái)說(shuō),我們最終給業(yè)務(wù)呈現(xiàn)的是一個(gè)能直接使用業(yè)務(wù)表,但是它的來(lái)源有很多,如果有一張來(lái)源表出問(wèn)題了,我們希望能夠快速準(zhǔn)確地定位到問(wèn)題,并清楚它的危害范圍。

減少重復(fù)開發(fā):

規(guī)范數(shù)據(jù)分層,開發(fā)一些通用的中間層數(shù)據(jù),能夠減少極大的重復(fù)計(jì)算。

把復(fù)雜問(wèn)題簡(jiǎn)單化:

將一個(gè)復(fù)雜的任務(wù)分解成多個(gè)步驟來(lái)完成,每一層只處理單一的步驟,比較簡(jiǎn)單和容易理解。而且便于維護(hù)數(shù)據(jù)的準(zhǔn)確性,當(dāng)數(shù)據(jù)出現(xiàn)問(wèn)題之后,可以不用修復(fù)所有的數(shù)據(jù),只需要從有問(wèn)題的步驟開始修復(fù)。

屏蔽原始數(shù)據(jù)的異常:

屏蔽業(yè)務(wù)的影響,不必改一次業(yè)務(wù)就需要重新接入數(shù)據(jù)

二、數(shù)倉(cāng)分層思想

數(shù)據(jù)分層每個(gè)企業(yè)根據(jù)自己的業(yè)務(wù)需求可以分成不同的層次,但是最基礎(chǔ)的分層思想,理論上數(shù)據(jù)分為三個(gè)層,數(shù)據(jù)運(yùn)營(yíng)層、數(shù)據(jù)倉(cāng)庫(kù)層和數(shù)據(jù)服務(wù)層?;谶@個(gè)基礎(chǔ)分層之上添加新的層次,來(lái)滿足不同的業(yè)務(wù)需求。

數(shù)據(jù)運(yùn)營(yíng)層(ODS)

Operate data store(操作數(shù)據(jù)-存儲(chǔ)),是最接近數(shù)據(jù)源中數(shù)據(jù)的一層,數(shù)據(jù)源中的數(shù)據(jù),經(jīng)過(guò)抽取、洗凈、傳輸,也就說(shuō)傳說(shuō)中的ETL之后,裝入ODS層。本層的數(shù)據(jù),總體上大多是按照源頭業(yè)務(wù)系統(tǒng)的分類方式而分類的。例如:MySQL里面的一張表可以通過(guò)sqoop之間抽取到ODS層 ODS層數(shù)據(jù)的來(lái)源方式:

  • 業(yè)務(wù)庫(kù)

經(jīng)常會(huì)使用sqoop來(lái)抽取,比如我們每天定時(shí)抽取一次。在實(shí)時(shí)方面, 可以考慮用canal監(jiān)聽mysql的binlog,實(shí)時(shí)接入即可。

  • 埋點(diǎn)日志

線上系統(tǒng)會(huì)打入各種日志,這些日志一般以文件的形式保存,我們可以選擇用flume定時(shí)抽取,也可以用用spark streaming或者Flink來(lái)實(shí)時(shí)接入,當(dāng)然,kafka也會(huì)是一個(gè)關(guān)鍵的角色。

  • 消息隊(duì)列

來(lái)自ActiveMQ、Kafka的數(shù)據(jù)等

數(shù)據(jù)倉(cāng)庫(kù)層(DW)

Data warehouse(數(shù)據(jù)倉(cāng)庫(kù))。在這里,從ODS層中獲得的數(shù)據(jù)按照主題建立各種數(shù)據(jù)模型。例如以研究人的旅游消費(fèi)為主題的數(shù)據(jù)集中,便可以結(jié)合航空公司的登機(jī)出行信息,以及銀聯(lián)系統(tǒng)的刷卡記錄,進(jìn)行結(jié)合分析,產(chǎn)生數(shù)據(jù)集。在這里,我們需要了解四個(gè)概念:維(dimension)、事實(shí)(Fact)、指標(biāo)(Index)和粒度( Granularity)。

DW數(shù)據(jù)分層,由下到上為 DWD,DWB,DWS

DWD:data warehouse detail 細(xì)節(jié)數(shù)據(jù)層,是業(yè)務(wù)層與數(shù)據(jù)倉(cāng)庫(kù)的隔離層。DWB:data warehouse base 基礎(chǔ)數(shù)據(jù)層,存儲(chǔ)的是客觀數(shù)據(jù),一般用作中間層,可以認(rèn)為是大量指標(biāo)的數(shù)據(jù)層。DWS:data warehouse service 服務(wù)數(shù)據(jù)層,基于DWB上的基礎(chǔ)數(shù)據(jù),整合匯總成分析某一個(gè)主題域的服務(wù)數(shù)據(jù),一般是寬表

數(shù)據(jù)服務(wù)層/應(yīng)用層(ADS):

Application Data Service(應(yīng)用數(shù)據(jù)服務(wù))。該層主要是提供數(shù)據(jù)產(chǎn)品和數(shù)據(jù)分析使用的數(shù)據(jù),一般會(huì)存放在ES、MySQL等系統(tǒng)中供線上系統(tǒng)使用,也可能會(huì)存在Hive或者Druid中供數(shù)據(jù)分析和數(shù)據(jù)挖掘使用。例如:我們經(jīng)常說(shuō)的報(bào)表數(shù)據(jù),或者說(shuō)那種大寬表,一般就放在這里。

三、阿里數(shù)據(jù)倉(cāng)庫(kù)分層架構(gòu)

ODS 數(shù)據(jù)準(zhǔn)備層

功能:

ODS層是數(shù)據(jù)倉(cāng)庫(kù)準(zhǔn)備區(qū),為DWD層提供基礎(chǔ)原始數(shù)據(jù),可減少對(duì)業(yè)務(wù)系統(tǒng)的影響

建模方式及原則:

從業(yè)務(wù)系統(tǒng)增量抽取、保留時(shí)間由業(yè)務(wù)需求決定、可分表進(jìn)行周期存儲(chǔ)、數(shù)據(jù)不做清洗轉(zhuǎn)換與業(yè)務(wù)系統(tǒng)數(shù)據(jù)模型保持一致、按主題邏輯劃分

DWD 數(shù)據(jù)明細(xì)層

功能:

為DW層提供來(lái)源明細(xì)數(shù)據(jù),提供業(yè)務(wù)系統(tǒng)細(xì)節(jié)數(shù)據(jù)的長(zhǎng)期沉淀,為未來(lái)分析類需求的擴(kuò)展提供歷史數(shù)據(jù)支撐

建模方式及原則:

數(shù)據(jù)模型與ODS層一致,不做清洗轉(zhuǎn)換處理、為支持?jǐn)?shù)據(jù)重跑可額外增加數(shù)據(jù)業(yè)務(wù)日期字段、可按年月日進(jìn)行分表、用增量ODS層數(shù)據(jù)和前一天DWD相關(guān)表進(jìn)行merge處理

DW(B/S) 數(shù)據(jù)匯總層

功能:

為DW、ST層提供細(xì)粒度數(shù)據(jù),細(xì)化成DWB和DWS;

DWB是根據(jù)DWD明細(xì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,如維度轉(zhuǎn)代理鍵、身份證清洗、會(huì)員注冊(cè)來(lái)源清晰、字段合并、空值處理、臟數(shù)據(jù)處理、IP清晰轉(zhuǎn)換、賬號(hào)余額清洗、資金來(lái)源清洗等;

DWS是根據(jù)DWB層數(shù)據(jù)按各個(gè)維度ID進(jìn)行高粒度匯總聚合,如按交易來(lái)源,交易類型進(jìn)行匯合

建模方式及原則:

  • 聚合、匯總增加派生事實(shí);
  • 關(guān)聯(lián)其它主題的事實(shí)表,DW層可能會(huì)跨主題域;
  • DWB保持低粒度匯總加工數(shù)據(jù),DWS保持高粒度匯總數(shù)據(jù);
  • 數(shù)據(jù)模型可能采用反范式設(shè)計(jì),合并信息等。

Data Market (數(shù)據(jù)集市)層

功能:

可以是一些寬表,是根據(jù)DW層數(shù)據(jù)按照各種維度或多種維度組合把需要查詢的一些事實(shí)字段進(jìn)行匯總統(tǒng)計(jì)并作為單獨(dú)的列進(jìn)行存儲(chǔ);

滿足一些特定查詢、數(shù)據(jù)挖掘應(yīng)用

應(yīng)用集市數(shù)據(jù)存儲(chǔ)

建模方式及原則:

盡量減少數(shù)據(jù)訪問(wèn)時(shí)計(jì)算(優(yōu)化檢索)

維度建模,星型模型;

分表存儲(chǔ)

ST 數(shù)據(jù)應(yīng)用層(ADS層)

功能:

ST層面向用戶應(yīng)用和分析需求,包括前端報(bào)表、分析圖表、KPI、儀表盤、OLAP、專題等分析,面向最終結(jié)果用戶

適合做OLAP、報(bào)表模型,如ROLAP,MOLAP

聯(lián)機(jī)事務(wù)處理OLTP、聯(lián)機(jī)分析處理OLAP。

OLTP是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的主要應(yīng)用,主要是基本的、日常的事務(wù)處理,例如銀行交易。

OLAP是數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。

聯(lián)機(jī)分析處理的用戶是企業(yè)中的專業(yè)分析人員及管理決策人員,他們?cè)诜治鰳I(yè)務(wù)經(jīng)營(yíng)的數(shù)據(jù)時(shí),從不同的角度來(lái)審視業(yè)務(wù)的衡量指標(biāo)是一種很自然的思考模式。例如分析銷售數(shù)據(jù),可能會(huì)綜合時(shí)間周期、產(chǎn)品類別、分銷渠道、地理分布、客戶群類等多種因素來(lái)考量。

根據(jù)DW層經(jīng)過(guò)聚合匯總統(tǒng)計(jì)后的粗粒度事實(shí)表

建模方式及原則:

保持?jǐn)?shù)據(jù)量小;

維度建模,星形模型;

各位維度代理鍵+度量;

增加數(shù)據(jù)業(yè)務(wù)日期字段,支持?jǐn)?shù)據(jù)重跑;

不分表存儲(chǔ)

小結(jié)

本篇文章主要講解數(shù)倉(cāng)項(xiàng)目中為什么分層,比如我們?cè)谕瓿梢粋€(gè)需要的需求的時(shí)候也許只需要一個(gè)復(fù)雜的SQL語(yǔ)句就可以完成。但一個(gè)復(fù)雜的SQL語(yǔ)句方便后面維護(hù)嗎?當(dāng)出現(xiàn)了問(wèn)題方便追蹤嗎? 這時(shí)候就體現(xiàn)出分層的好處。順便給大家分享阿里的數(shù)倉(cāng)模型是什么樣的。信自己,努力和汗水總會(huì)能得到回報(bào)的。我是大數(shù)據(jù)老哥,我們下期見~~~

本文轉(zhuǎn)載自微信公眾號(hào)「大數(shù)據(jù)老哥」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系大數(shù)據(jù)老哥公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 大數(shù)據(jù)老哥
相關(guān)推薦

2020-01-03 09:40:13

大數(shù)據(jù)數(shù)據(jù)倉(cāng)庫(kù)分層

2017-10-20 12:59:05

數(shù)據(jù)分層數(shù)據(jù)建設(shè)數(shù)據(jù)倉(cāng)庫(kù)

2022-12-13 09:54:52

數(shù)據(jù)倉(cāng)庫(kù)

2021-09-01 10:03:44

數(shù)據(jù)倉(cāng)庫(kù)云數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)庫(kù)

2021-03-31 10:16:00

架構(gòu)運(yùn)維技術(shù)

2016-06-28 13:09:48

UCloud數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)解析

2023-09-05 16:30:53

數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)分析

2022-05-11 08:00:00

Lakehouse存儲(chǔ)數(shù)據(jù)湖

2011-01-12 17:04:30

數(shù)據(jù)庫(kù)淘寶網(wǎng)Oracle RAC

2013-03-20 16:23:53

數(shù)據(jù)清洗

2018-07-24 09:28:18

存儲(chǔ)數(shù)據(jù)倉(cāng)庫(kù)

2022-11-29 17:16:57

2019-05-24 11:51:18

BI數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)分析

2022-07-28 13:47:30

云計(jì)算數(shù)據(jù)倉(cāng)庫(kù)

2023-08-09 08:00:00

數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)架構(gòu)

2013-10-29 13:28:13

數(shù)據(jù)

2012-07-23 14:38:16

Exalytics

2023-07-02 14:11:28

數(shù)據(jù)倉(cāng)庫(kù)大數(shù)據(jù)

2017-08-17 15:52:38

企業(yè)數(shù)據(jù)倉(cāng)庫(kù)

2009-01-18 15:14:00

數(shù)據(jù)倉(cāng)庫(kù)開發(fā)OLTP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)