最最最全資料倉儲建設指南,速速收藏!!

數瀾科技發表於2019-12-13
最最最全資料倉儲建設指南,速速收藏

開講之前,我們先來回顧一下資料倉儲的定義。

資料倉儲(Data Warehouse)是一個面向主題的、整合的、相對穩定的、反映歷史變化的資料集合,用於支援管理決策。這個概念最早由資料倉儲之父比爾·恩門(Bill Inmon)於1990年在《建立資料倉儲》一書中提出,近年來卻被愈發廣泛的提及和應用,不信看下圖:

最最最全資料倉儲建設指南,速速收藏

到底是什麼,讓一個從上世紀90年代提出的概念,在近幾年確越來越熱?帶著這個問題,我們來了解一下產業真實的變化。

根據統計局的數字顯示,近年來數字經濟總體規模佔GDP的比重越來越高,截止2018年將近35%;數字經濟增速與GDP增速的差距逐漸拉大,遠高於同期GDP增速。

最最最全資料倉儲建設指南,速速收藏

最最最全資料倉儲建設指南,速速收藏

在 2014年,“新常態”一詞被首次提出,指出從當前中國經濟發展的階段性特徵出發,適應新常態,保持戰略上的平常心態。意味著經濟新常態下,要適應GDP從高速增長轉變為中高速增長的態勢,吃資源飯、環境飯、子孫飯的舊發展方式正在讓位於以轉型升級、生產率提高、創新驅動為主要內容的科學、可持續、包容性發展,從要素驅動、投資驅動轉向服務業發展及創新驅動。

在新常態下,資料經濟背後的資訊化正催生資料發揮著巨大價值,未來也會一樣。

最最最全資料倉儲建設指南,速速收藏

最最最全資料倉儲建設指南,速速收藏

在這樣的背景下,“資料”、“資料分析”、“人工智慧”、“IOT”這些行業關鍵詞在百度指數搜尋趨勢一路攀升。而隨著轉型的深入,人工智慧和物聯網技術被越來越廣泛的接受和應用,這背後所產生的資料呈大規模增長態勢,資料被依賴的程度越來越高。

所以,回到文章開頭的問題“資料倉儲,一個從上世紀90年代提出的概念,為啥近幾年確越來越熱了呢?”答案就是 隨著時代的發展,資料的價值正在被無限的索求、挖掘與放大。其價值的背後需要資料採集、儲存、互通、治理、運用的一整套機制。

那麼問題又來了,該怎麼做才能正確構建企業資料倉儲?

別慌!乾貨來了!接下來就是資料倉儲從搭建到應用的一整套方法論詳解,別眨眼別退出,看完全部如果覺得有用記得點贊收藏和分享!

先來看張體系圖:

最最最全資料倉儲建設指南,速速收藏

我們這裡所說的資料倉儲,是基於大資料體系的,裡面包含標籤類目,區別於傳統的資料倉儲。下面我們來將這張圖分解,逐個做簡要分析。

一、前期調研

調研是數倉搭建的基礎,根據建設目標,我們將調研分為三類:業務調研、業務系統調研、業務資料調研。

業務調研內容:

  • 專案承載的業務是什麼,業務的特徵和性質
  • 當前的業務流程,有真實流程表格和報告最好,用一個例項的方式來展示整個業務流程
  • 業務專業術語、產品資料、規則演算法、邏輯條件等資料
  • 關注使用者對流程中存在的問題和痛點描述、以及期望

業務系統調研內容:

  • 清楚瞭解專案有哪些系統,每個系統對接人,重點系統詳細介紹功能和互動
  • 整體系統架構,呼叫規模,子系統互動方式,併發和吞吐量目標
  • 系統技術選型和系統當前技術難點

資料調研內容:

  • 可提供的資料
  • 資料來源型別、環境、資料規模
  • 資料介面方式:檔案介面、資料庫介面、web service介面等
  • 資料目錄,資料欄位型別、字典、欄位含義、使用場景
  • 資料在業務系統中流向等

二、資料建模

資料建模是數倉搭建的靈魂,是資料儲存、組織關係設計的藍圖。

分層架構是對資料進行邏輯上的梳理,按照不同來源、不同使用目的、不同顆粒度等進行區分,使資料使用者在使用資料的時候更方便和容易理解,使資料管理者在管理資料的時候更高效和具有條理。我們推薦的分層架構是:

最最最全資料倉儲建設指南,速速收藏

維度建模是Kimball在《資料倉儲工具箱》中所倡導的資料建模方法,也是目前在大資料場景下我們推薦使用的建模方法。因為維度建模以分析決策的需求出發來構建模型,構建的資料模型為分析需求服務,因此它重點解決使用者如何更快速完成分析需求,同時還有較好的大規模複雜查詢的響應效能。

維度建模的核心步驟如下:

  • 選擇業務過程:對業務生命週期中的活動過程進行分析
  • 宣告粒度:選擇事實表的資料粒度
  • 維度設計:確定維度欄位,確定維度表的資訊
  • 事實設計:基於粒度和維度,將業務過程度量

設計原則:

  • 易用性:冗餘儲存換效能,公共計算下沉,明細彙總並存
  • 高內聚低耦合:核心與擴充套件分離,業務過程合併,考慮產出時間
  • 資料隔離:業務與資料系統隔離,建設與使用隔離
  • 一致性:業務口徑一致,主要實體一致,命名規範一致
  • 中性原則:弱業務屬性,資料驅動

三、標籤類目

標籤,是資料資產的邏輯載體。資料資產,指的是能夠給業務帶來經濟效益的資料。所以,標籤類目的建設在整個資料中心的建設過程中具有核心地位。

標籤的設計需要結合資料情況和業務需求,因為標籤值就是資料欄位值,同時標籤是要服務於業務的,需要具備業務意義。假如,標籤的設計僅基於業務方以往的經驗得出,那麼最終開發出來的標籤值可能會失去標籤的使用意義,比如值檔次分佈不均、有值的覆蓋率低等。

基於標籤開發方式,我們將標籤分為以下三類:

  • 基礎標籤:直接對應的業務表欄位,如性別、城市等
  • 統計標籤:標籤定義含有常規的統計邏輯,開發時需要通過簡易規則進行加工,如年增長率、月平均收益率等
  • 演算法標籤:標籤定義含有複雜的統計邏輯,開發時需要通過演算法模型進行加工,如企業信用分、預測年銷量等

基於標籤應用場景,我們將標籤分為以下二類:

  • 後臺標籤:開發場景下,面向開發人員,不涉及業務場景,聚焦標籤設計、開發、管理。
  • 前臺標籤:應用場景下,面向業務人員,結合業務場景,聚焦對後臺標籤的直接使用或組合使用。

隨著大量的標籤產生,為了更好的管理和使用,我們需要將標籤進行分類。所有的事物都可以歸類於三類物件:人、物、關係,所以我們可以對標籤按照人、物、關係來劃分一級類目,再按照業務特性對每個一級類目進行二級、三級的拆分,通常我們建議將標籤類目劃分到三級。

最最最全資料倉儲建設指南,速速收藏

四、開發實施

經過前期調研、資料建模、標籤設計之後,接著會進入到開發階段,開發實施的關鍵環節由以下幾部分組成:

  • 同步匯聚
  • 清洗加工
  • 測試校驗
  • 排程配置
  • 釋出上線

工欲善其事,必先利其器。一個好的開發工具對開發進度、成本、質量等具有舉足輕重的影響。目前市面上很多開源,如Kettle、Azkaban、Hue等多多少少具有部分功能,但是要形成一個從端到端的資料自動化生產,需要將多個開源工具進行組合並通過複雜甚至人工方式進行銜接,整個過程複雜、低效和可靠性低。數棲雲一站式離線開發平臺,就是為了解決上述問題而生的。

開發落地,規範先行,遵守一套標準規範是整個開發質量和效率的保障。該套資料開發規範應該具備以下幾個核心內容:

  • 公共規範
    • 層次呼叫約定
    • 資料型別規範
    • 資料冗餘拆分
    • 空值處理原則
    • 重新整理週期標識
    • 增量全量標識
    • 生命週期管理
    • ......
  • ODS層模型開發規範
    • ODS層架構
    • 資料同步及處理規範
      • 資料同步方式
      • 資料清洗規範
    • 命名規範
      • 表命名規範
      • 任務命名規範
  • DW層模型開發規範
  • ......

通過工具+規範,促使我們的開發實施快速做好。

最最最全資料倉儲建設指南,速速收藏

五、治理維護

隨著排程作業和資料量的增長,管理和維護會成為一項重要任務。

資料管理的範圍很大,貫穿資料採集、應用和價值實現等整個生命週期全過程。所謂的資料管理就是通過對資料的生命週期的管理,提高資料資產質量,促進資料在“內增值,外增效”兩方面的價值表現。資料管理的核心內容為:

  • 資料標準管理
  • 資料模型管理
  • 後設資料管理
  • 主資料管理
  • 資料質量管理
  • 資料安全管理

資料監控是資料質量的保障,會根據資料質量規則制定監控策略,當觸發規則時能夠自動通知到相關人。基礎的資料質量監控維度有以下幾部分:

  • 完整性
    • 特定完整性:必須有值的欄位中,不允許為空
    • 條件完整性:根據條件欄位值必須始終存在
  • 唯一性
    • 特定唯一性:欄位必須唯一
    • 條件唯一性:根據業務條件,欄位值必須唯一
  • 有效性
    • 範圍有效性:欄位值必須在指定的範圍內取值
    • 日期有效性:欄位是日期的時候取值必須是有效的
    • 形式有效性:欄位值必須和指定的格式一致
  • 一致性
    • 參照一致性:資料或業務具有參照關係的時候,必須保持其一致性
    • 資料一致性:資料採集、加工或遷移後,前後的資料必須保持一致性
  • 準確性
    • 邏輯正確性:業務邏輯之間的正確性
    • 計算正確性:複合指標計算的結果應符合原始資料和計算邏輯的要求
    • 狀態正確性:要維護好資料的產生、收集和更新週期

當出現資料異常後,需要快速的進行恢復。基於異常和修復場景,有以下幾種資料運維方式:

  • 平臺環境問題引起的異常
    • 重跑:當環境問題解決後,重新排程作業,對當天的資料進行修復
    • 重跑下游:當環境問題解決後,重新排程某一個工作流節點的作業及其下游,對當天該作業及其下游的資料進行修復
  • 業務邏輯變更或程式碼 bug 引起的異常
    • 補資料:對應作業程式碼更新並重新發布到生產後,重新生成異常時間段內的該作業資料
    • 補下游:對應作業程式碼更新並重新發布到生產後,重新生成異常時間段內的該作業及其下游的資料
  • 其他
    • 終止:終止正在被執行的作業

資料安全主要是保障資料不被竊取、破壞和濫用,包括核心資料和隱私資料,以及確保資料系統的安全可靠執行。需要構建系統層面、資料層面和服務層面的資料安全框架,從技術保障、管理保障、過程保障和執行保障多維度保障大資料應用和資料安全。

  • 系統層面
    • 技術架構
    • 網路傳輸
    • 租戶隔離
    • 許可權管理
  • 資料層面
    • 資料評估:對資料來源、用途、合法性等進行評估
    • 資料脫敏:對隱私資料進行脫敏處理
    • 資料許可權:根據資料使用者的不同角色和需求,開放不同許可權
    • 血緣追溯:建立資料血緣關係,可追溯資料生產的來龍去脈
    • 下載限制:限制資料結果集的下載條數,防止資料外洩
  • 服務層面
    • 應用監控:監控資料使用端、使用次數、使用流量等
    • 介面管理:生產和管理資料輸出介面
    • 資料脫敏

六、資料應用

給業務賦能,是資料價值的最終體現,也就是我們講的資料業務化。資料業務化的方向有兩種:業務優化和業務創新。在資料業務化的過程中,為了更方便的服務於上層應用,我們先將資料形成服務介面,然後讓業務應用直接呼叫服務介面,即形成 資料服務化+服務業務化。

如何通過已有的 產品 + 方法論 + 最佳實踐 去完成一個業務優化和業務創新呢?這裡有一張完整的圖,幫助你更快的理解全過程。

最最最全資料倉儲建設指南,速速收藏

以上,就是我們對於資料倉儲建設實踐積累總結出的經驗分享,歡迎與我們共同討論,共同碰撞!不服來稿!同時如果你覺得這篇文章對你有幫助,別忘了把這篇文章分享出去給更多人看到~另外,如果你對數倉工具數棲雲感興趣,歡迎進入 shuqi.dtwave.com 直接註冊使用


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69941024/viewspace-2668535/,如需轉載,請註明出處,否則將追究法律責任。

相關文章