<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)倉(cāng)工作中的常見(jiàn)問(wèn)題及解決方案

          共 5746字,需瀏覽 12分鐘

           ·

          2023-07-10 10:13

          數(shù)據(jù)倉(cāng)庫(kù)系列文章

          1. 數(shù)倉(cāng)架構(gòu)發(fā)展史
          2. 數(shù)倉(cāng)建模方法論
          3. 數(shù)倉(cāng)建模分層理論
          4. 數(shù)倉(cāng)建模—寬表的設(shè)計(jì)
          5. 數(shù)倉(cāng)建模—指標(biāo)體系
          6. 數(shù)據(jù)倉(cāng)庫(kù)之拉鏈表
          7. 數(shù)倉(cāng)—數(shù)據(jù)集成
          8. 數(shù)倉(cāng)—數(shù)據(jù)集市
          9. 數(shù)倉(cāng)—商業(yè)智能系統(tǒng)
          10. 數(shù)倉(cāng)—埋點(diǎn)設(shè)計(jì)與管理
          11. 數(shù)倉(cāng)—ID Mapping
          12. 數(shù)倉(cāng)—OneID

          來(lái)源數(shù)據(jù)社

          今天給大家分享一篇數(shù)倉(cāng)工作思考的文章。? ? ? ? ? ? ? ? ? ? ? ? ?

          小 A 糊里糊涂進(jìn)入一家網(wǎng)約車出現(xiàn)服務(wù)公司,負(fù)責(zé)公司數(shù)倉(cāng)建設(shè),試用期主要一項(xiàng) KPI 是制定數(shù)據(jù)倉(cāng)庫(kù)建設(shè)規(guī)劃;因此小 A 本著從問(wèn)題出發(fā)為原點(diǎn),先對(duì)公司數(shù)倉(cāng)現(xiàn)狀進(jìn)行一輪深入了解,理清存在問(wèn)題,然后在以不忘初心原則提出解決問(wèn)題方案。相信很多數(shù)據(jù)建設(shè)者在公司發(fā)展某個(gè)階段時(shí)都會(huì)遇到類似小 A 公司問(wèn)題,也在思考或已經(jīng)在執(zhí)行落地解決這些問(wèn)題方案,希望通過(guò)小 A 案例可以給大家一些啟發(fā)。下面先看看小 A 公司數(shù)倉(cāng)現(xiàn)狀與問(wèn)題


          01 數(shù)據(jù)倉(cāng)庫(kù)現(xiàn)狀

          小 A 公司創(chuàng)建時(shí)間比較短,才剛過(guò)完兩周歲生日沒(méi)多久;業(yè)務(wù)增長(zhǎng)速度快,數(shù)據(jù)迅速增加,同時(shí)取數(shù)需求激增與數(shù)據(jù)應(yīng)用場(chǎng)景對(duì)數(shù)據(jù)質(zhì)量、響應(yīng)速度、數(shù)據(jù)時(shí)效性與穩(wěn)定要求越來(lái)越高;但技術(shù)能力滯后業(yè)務(wù)增長(zhǎng),如實(shí)時(shí)數(shù)倉(cāng)技術(shù)能力、高可用穩(wěn)定保障能力、流程規(guī)范缺少等,這些能力嚴(yán)重滯后業(yè)務(wù)發(fā)展,甚至有些還是停留在公司創(chuàng)建初期 case by case 階段。小 A 根據(jù)數(shù)據(jù)在數(shù)倉(cāng)流向(以下圖),從上游的業(yè)務(wù)系統(tǒng)測(cè)到數(shù)倉(cāng)內(nèi)部最后到下游數(shù)據(jù)應(yīng)用梳理數(shù)據(jù)倉(cāng)庫(kù)建設(shè)存在問(wèn)題。

          5324b7e04d3154ee7eefe9c0d2d5f059.webp

          業(yè)務(wù)系統(tǒng)側(cè)【上游】

          數(shù)據(jù)倉(cāng)庫(kù)首先需要對(duì)業(yè)務(wù)系統(tǒng)結(jié)構(gòu)化業(yè)務(wù)數(shù)據(jù)、日志數(shù)據(jù)與埋點(diǎn)數(shù)據(jù)進(jìn)行歸集;數(shù)倉(cāng)與上游業(yè)務(wù)系統(tǒng)對(duì)接主要存在以下問(wèn)題:

          • 缺失業(yè)務(wù)系統(tǒng)數(shù)據(jù)模型清單與變更同步:沒(méi)有對(duì)已歸集到數(shù)倉(cāng)業(yè)務(wù)系統(tǒng)數(shù)據(jù)模型記錄,業(yè)務(wù)系統(tǒng)數(shù)據(jù)模型發(fā)送變更也沒(méi)有對(duì)數(shù)倉(cāng)知會(huì),更多是出現(xiàn)問(wèn)題后或者是數(shù)據(jù)使用者事后告知數(shù)倉(cāng)。

          • 缺少統(tǒng)一枚舉值編碼與變更同步:業(yè)務(wù)系統(tǒng)沒(méi)有統(tǒng)一枚舉值編碼,如訂單狀態(tài)有:下單、接單、成單,沒(méi)有統(tǒng)一對(duì)這些枚舉值進(jìn)行管理;如果后面對(duì)訂單狀態(tài)再增加一個(gè):取消單狀態(tài),這種變更也沒(méi)有對(duì)數(shù)倉(cāng)進(jìn)行知會(huì)。

          • 業(yè)務(wù)部門搭建各自小數(shù)倉(cāng):有些部門繞過(guò)數(shù)倉(cāng)直接接入上游數(shù)據(jù)源,搭建各自的小數(shù)倉(cāng),從而導(dǎo)致數(shù)據(jù)孤島、重復(fù)計(jì)算、口徑不一致。

          • 存在業(yè)務(wù)盲區(qū):有些業(yè)務(wù)需要專業(yè)知識(shí)背景如:財(cái)務(wù);有些業(yè)務(wù)規(guī)則保密級(jí)別高,無(wú)法對(duì)非業(yè)務(wù)相關(guān)員公開(kāi)業(yè)務(wù)邏輯,如風(fēng)控;因此無(wú)法系統(tǒng)梳理這些業(yè)務(wù)實(shí)體與實(shí)體之間關(guān)系,提煉指標(biāo),共享數(shù)據(jù)。

          數(shù)倉(cāng)內(nèi)部

          公司創(chuàng)建初期,數(shù)據(jù)量比較小、數(shù)據(jù)需求也不多、數(shù)據(jù)應(yīng)用場(chǎng)景也比較單一更多是為了滿足一下簡(jiǎn)單報(bào)表,因此數(shù)倉(cāng)主要是以接單方式驅(qū)動(dòng)工作,來(lái)一個(gè)需求做一個(gè),case by case,主要是為了快速響應(yīng)需求。但隨著業(yè)務(wù)迅速增加,數(shù)據(jù)量暴漲,數(shù)據(jù)應(yīng)用場(chǎng)景多樣化,慢慢暴露出以下問(wèn)題:

          • 流程規(guī)范缺少:沒(méi)有流程與規(guī)范指引數(shù)據(jù)開(kāi)發(fā)者根據(jù)流程對(duì)數(shù)據(jù)進(jìn)行規(guī)范化建設(shè),導(dǎo)致數(shù)據(jù)分層分類不清晰,數(shù)據(jù)混亂;命名不規(guī)范,同義不同名,同名不同義;數(shù)據(jù)重復(fù)建設(shè),冗余數(shù)據(jù)多。

          • 沒(méi)有體系化技術(shù)設(shè)計(jì):無(wú)論是離線或?qū)崟r(shí)數(shù)據(jù)采集、處理與分發(fā)都缺少體系化設(shè)計(jì)與搭建,更多是在前期 case by case 上面修修補(bǔ)補(bǔ);例如在離線與實(shí)時(shí)對(duì)同一數(shù)據(jù)源進(jìn)行采集;無(wú)差別對(duì)所有數(shù)據(jù)源每次全量抽取與 DWD 到 DWS 層無(wú)差別全量計(jì)算;T+1 與每小時(shí)批處理煙囪開(kāi)發(fā),同一寬表離線與實(shí)時(shí)煙囪開(kāi)發(fā)、重復(fù)計(jì)算與存儲(chǔ);對(duì)不同應(yīng)用場(chǎng)景無(wú)差別使用相同存儲(chǔ)與計(jì)算等等;

          • 影響無(wú)互相隔離:數(shù)倉(cāng)數(shù)據(jù)存儲(chǔ)與計(jì)算,沒(méi)有與數(shù)據(jù)應(yīng)用服務(wù)存儲(chǔ)與技術(shù)隔離,存在互相之間資源搶占與問(wèn)題被放大情況;同時(shí)也存在數(shù)倉(cāng)底層模型設(shè)計(jì)很難兼容數(shù)據(jù)應(yīng)用層模型設(shè)計(jì)需求

          數(shù)據(jù)應(yīng)用測(cè)【下游】

          數(shù)倉(cāng)需要為不同數(shù)據(jù)應(yīng)用場(chǎng)景(風(fēng)控、C 端、業(yè)務(wù)運(yùn)營(yíng)等)提供數(shù)據(jù),不同數(shù)據(jù)應(yīng)用需求是不一致的,存在很多差異;同時(shí)數(shù)據(jù)在不同應(yīng)用場(chǎng)景價(jià)值也是不一樣的。因此需要清楚了解下游數(shù)據(jù)應(yīng)用場(chǎng)景與存在問(wèn)題才可以更好服務(wù)數(shù)據(jù)應(yīng)用方,下游主要存在以下問(wèn)題:

          • 對(duì)數(shù)據(jù)應(yīng)用場(chǎng)景不了解:對(duì)下游數(shù)據(jù)需求應(yīng)用場(chǎng)景不了解或者沒(méi)有深入了解,沒(méi)有針對(duì)不同場(chǎng)景評(píng)估技術(shù)選型,簡(jiǎn)單粗暴使用一招打天下,對(duì)不同場(chǎng)景使用一套計(jì)算與存儲(chǔ)。

          • 不知道數(shù)據(jù)被哪些應(yīng)用訪問(wèn):沒(méi)有對(duì)下游應(yīng)用對(duì)數(shù)據(jù)使用監(jiān)控與記錄,無(wú)法對(duì)數(shù)據(jù)使用情況與價(jià)值進(jìn)行量化

          • 沒(méi)有量化數(shù)據(jù)需求優(yōu)先級(jí):對(duì)下游數(shù)據(jù)需求沒(méi)有優(yōu)先級(jí)評(píng)估機(jī)制,沒(méi)有量化數(shù)據(jù)需求優(yōu)先級(jí)

          • 沒(méi)有自助取數(shù)工具:下游沒(méi)有取數(shù)能力,導(dǎo)致大部分的取數(shù)工作還是依賴數(shù)據(jù)開(kāi)發(fā)來(lái)完成。數(shù)據(jù)開(kāi)發(fā)大部分的時(shí)間都被臨時(shí)取數(shù)的需求占據(jù),根本無(wú)法專注在數(shù)倉(cāng)模型的構(gòu)建和集市層數(shù)據(jù)的建設(shè),最終形成了一個(gè)惡性循環(huán),一方面是數(shù)據(jù)不完善,另一方面是數(shù)據(jù)開(kāi)發(fā)忙于各種臨時(shí)取數(shù)需求。

          • 數(shù)據(jù)接入方式多樣,接入效率低:每個(gè)數(shù)據(jù)應(yīng)用都要根據(jù)不同的中間存儲(chǔ),開(kāi)發(fā)對(duì)應(yīng)的代碼,如果涉及多個(gè)中間存儲(chǔ),還需要開(kāi)發(fā)多套代碼,數(shù)據(jù)接入效率很低。

          • 數(shù)據(jù)質(zhì)量問(wèn)題:數(shù)據(jù)經(jīng)常因?yàn)?BUG 導(dǎo)致計(jì)算結(jié)果錯(cuò)誤,最終導(dǎo)致錯(cuò)誤的商業(yè)決策。


          02 如何解決問(wèn)題


          業(yè)務(wù)系統(tǒng)側(cè)【上游】

          與業(yè)務(wù)系統(tǒng)側(cè)協(xié)同需要跨部門溝通與合作,因此需要溝通流程與標(biāo)準(zhǔn),讓雙方聚焦在公共目標(biāo);同時(shí)也要維護(hù)好你好我好的共存關(guān)系。主要是針對(duì)事前、事中、事后提出解決方案。

          • 事前:與上游建立知會(huì)機(jī)制與協(xié)同流程,及時(shí)同步業(yè)務(wù)與模型變更;接管 ODS 層,控制源頭,ODS 是業(yè)務(wù)數(shù)據(jù)進(jìn)入數(shù)倉(cāng)的第一站,是所有數(shù)據(jù)加工的源頭,控制住源頭,才能從根本上防止一個(gè)重復(fù)的數(shù)據(jù)體系的出現(xiàn)。

          • 事中:通過(guò)技術(shù)手段捕捉上游元數(shù)據(jù)與字典值變更,從而方便以后問(wèn)題追蹤與影響分析

          • 事后:通過(guò)事后復(fù)盤(pán)優(yōu)化流程與迭代技術(shù)

          數(shù)倉(cāng)內(nèi)部

          數(shù)倉(cāng)內(nèi)部主要是要從技術(shù)體系、流程規(guī)范與數(shù)據(jù)架構(gòu)等幾個(gè)維度去解決這些問(wèn)題。

          制定流程與規(guī)范

          數(shù)據(jù)開(kāi)發(fā)流程:

          e736a5763ebfe130b806bc62ef51c030.webp

          數(shù)據(jù)開(kāi)發(fā)規(guī)范:

          ce0b05593115a2fea21b3e0a40d81bb5.webp

          數(shù)倉(cāng)規(guī)范主要包括以下內(nèi)容:

          1. 基礎(chǔ)字典【詞根】詞根是企業(yè)最細(xì)粒度業(yè)務(wù)術(shù)語(yǔ),是維度和指標(biāo)管理的基礎(chǔ),通過(guò)詞根可以用來(lái)統(tǒng)一表名、字段名、主題域名;建立和維護(hù)可收斂的詞根庫(kù),業(yè)務(wù)域、主題域我們都可以用詞根的方式枚舉清楚,不斷完善,粒度也是同樣的,主要的是時(shí)間粒度、日、月、年、周等,使用詞根定義好簡(jiǎn)稱,數(shù)倉(cāng)開(kāi)發(fā)的字段命名也可以使用詞根進(jìn)行組合;劃分為普通詞根與專有詞根

          • 普通詞根:描述事物的最小單元體,如:交易-trade。

          • 專有詞根:具備約定成俗或行業(yè)專屬的描述體,如:美元-USD。

          詞根示例如下:

          14bf00ad5a69a17fd1ae8c8db12545d2.webp

          2. 基礎(chǔ)規(guī)范

          數(shù)據(jù)域:數(shù)據(jù)縱向分域,如下圖

          25eb9e76913cd2b6dc6dc06700df7225.webp

          數(shù)據(jù)層級(jí):數(shù)據(jù)橫向分層,如下圖

          bfbc087b22c814f205f4bc20e42e55b3.webp

          3. 命名規(guī)范對(duì)模型命名標(biāo)準(zhǔn)化,規(guī)范各層(ODS、DWD、DWS、DM)命名,后期可以考慮借助類似以下命名規(guī)范工具提供效率與把控能力。

          06d8494365e0e72a4f841a230d19123a.webp

          4. 規(guī)范性評(píng)估從以下幾個(gè)角度去衡量規(guī)范度

          25e359d1dca4b07fe290104ab649eb98.webp


          03 體系化架構(gòu)設(shè)計(jì)


          橫向采集、處理、增值、分發(fā)與縱向離線、實(shí)時(shí)體系化進(jìn)行技術(shù)架構(gòu)設(shè)計(jì)

          098819aedb258180d8451db9c1569f00.webp

          一致性維度

          一致性維度的意思是兩個(gè)維度如果有關(guān)系,要么就是完全一樣的,要么就是一個(gè)維度在數(shù)學(xué)意義上是另一個(gè)維度的子集。例如,如果建立月維度話,月維度的各種描述必須與日期維度中的完全一致,最常用的做法就是在日期維度上建立視圖生成月維度。這樣月維度就可以是日期維度的子集,在后續(xù)鉆取等操作時(shí)可以保持一致。如果維度表中的數(shù)據(jù)量較大,出于效率的考慮,應(yīng)該建立物化視圖或者實(shí)際的物理表。這樣,維度保持一致后,事實(shí)就可以保存在各個(gè)數(shù)據(jù)集市中。雖然在物理上是獨(dú)立的,但在邏輯上由一致性維度使所有的數(shù)據(jù)集市是聯(lián)系在一起,隨時(shí)可以進(jìn)行交叉探察等操作,也就組成了數(shù)據(jù)倉(cāng)庫(kù)。

          一致性事實(shí)

          在建立多個(gè)數(shù)據(jù)集市時(shí),完成一致性維度的工作就已經(jīng)完成了一致性的 80%-90%的工作量。余下的工作就是建立一致性事實(shí)。一致性事實(shí)和一致性維度有些不同,一致性維度是由專人維護(hù)在后臺(tái)(Back Room),發(fā)生修改時(shí)同步復(fù)制到每個(gè)數(shù)據(jù)集市,而事實(shí)表一般不會(huì)在多個(gè)數(shù)據(jù)集市間復(fù)制。需要查詢多個(gè)數(shù)據(jù)集市中的事實(shí)時(shí),一般通過(guò)交叉探查(drill across)來(lái)實(shí)現(xiàn)。為了能在多個(gè)數(shù)據(jù)集市間進(jìn)行交叉探查,一致性事實(shí)主要需要保證兩點(diǎn)。第一個(gè)是 KPI 的定義及計(jì)算方法要一致,第二個(gè)是事實(shí)的單位要一致性。如果業(yè)務(wù)要求或事實(shí)上就不能保持一致的話,建議不同單位的事實(shí)分開(kāi)建立字段保存。這樣,一致性維度將多個(gè)數(shù)據(jù)集市結(jié)合在一起,一致性事實(shí)保證不同數(shù)據(jù)集市間的事實(shí)數(shù)據(jù)可以交叉探查。

          數(shù)據(jù)應(yīng)用側(cè)【下游】

          針對(duì)數(shù)據(jù)應(yīng)用側(cè)解決思路主要是提高取數(shù)效率,減少數(shù)據(jù)質(zhì)量問(wèn)題,數(shù)據(jù)和接口復(fù)用,具體如下。

          提高數(shù)據(jù)質(zhì)量

          要想提升數(shù)據(jù)質(zhì)量,最重要的就是“早發(fā)現(xiàn),早恢復(fù)”:

          • 早發(fā)現(xiàn),是要能夠先于數(shù)據(jù)使用方發(fā)現(xiàn)數(shù)據(jù)的問(wèn)題,盡可能在出現(xiàn)問(wèn)題的源頭發(fā)現(xiàn)問(wèn)題,這樣就為“早恢復(fù)”爭(zhēng)取到了大量的時(shí)間。主要方法是在數(shù)據(jù)產(chǎn)出任務(wù)運(yùn)行結(jié)束后,啟動(dòng)稽核校驗(yàn)任務(wù)對(duì)數(shù)據(jù)結(jié)果進(jìn)行掃描計(jì)算,判斷是否符合規(guī)則(完整性規(guī)則、一致性規(guī)則、準(zhǔn)確性規(guī)則)預(yù)期。

          • 早恢復(fù),就是要縮短故障恢復(fù)的時(shí)間,降低故障對(duì)數(shù)據(jù)產(chǎn)出的影響。主要方法是基于數(shù)據(jù)血緣關(guān)系,建立全鏈路數(shù)據(jù)質(zhì)量監(jiān)控。對(duì)鏈路中每個(gè)表增加稽核校驗(yàn)規(guī)則之后,當(dāng)其中任何一個(gè)節(jié)點(diǎn)產(chǎn)出的數(shù)據(jù)出現(xiàn)異常時(shí),你能夠第一時(shí)間發(fā)現(xiàn),并立即修復(fù),做到早發(fā)現(xiàn)、早修復(fù)。


          建設(shè)可視化的取數(shù)平臺(tái)

          靠別人取數(shù),會(huì)存在大量的溝通和協(xié)作的成本,同時(shí)因?yàn)楣布袑訑?shù)據(jù)不完善,導(dǎo)致無(wú)法基于現(xiàn)有的數(shù)據(jù),直接完成取數(shù),需要數(shù)據(jù)開(kāi)發(fā)加工新的數(shù)據(jù),所以耗時(shí)會(huì)非常的長(zhǎng),一般需要一周時(shí)間。高昂的取數(shù)成本,壓制了取數(shù)的需求,也導(dǎo)致探索式的數(shù)據(jù)分析,根本不可能大規(guī)模的使用。通過(guò)自助取數(shù)平臺(tái),釋放取數(shù)效能,將大部分取數(shù)由非技術(shù)人員的需求方完成。通過(guò)以下幾點(diǎn)建設(shè)自助取數(shù)平臺(tái):

          • 用圖形化的方式,替代了寫(xiě) SQL 的方式;

          • 提供了對(duì)業(yè)務(wù)人員比較友好的業(yè)務(wù)過(guò)程、指標(biāo)、維度的概念,替換了表、字段;

          • 每個(gè)指標(biāo)的業(yè)務(wù)口徑都能夠直接顯示;

          • 用戶通過(guò)選取一些指標(biāo)和維度,添加一些篩選值,就可以完成取數(shù)過(guò)程;

          • 界面非常簡(jiǎn)潔,使用門檻非常低。


          end


          瀏覽 82
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天弄天天模 | 69久人妻无码精品一区 | A V性天堂网 | 亚洲色俺来也 | 大鸡吧插逼视频 |