原文鏈接:離線數倉建設,企業大資料的業務驅動與技術實作丨03期直播回顧
視頻回顧:點擊這里
課件獲取:點擊這里
一、離線數倉建設背景
離線資料是相對實時資料而言的資料產出,不同于實時資料,離線資料一般是T+1天處理,也就是說昨天產生的資料至少要今天才能看到計算結果,離線資料一般應用于對資料時效要求不高,需要基于一段時間的歷史資料計算才能得到結果的場景,我們大致可以分為離線資料分析及資料應用兩類,離線資料計算具備:資料準確度高、吞吐量大、計算成本低等特點,

離線資料應用的場景非常廣泛,企業的資料迎來了爆發式的增長,目前企業資料規模巨大、資料型別多樣、生成及處理速度極快、資料價值巨大但密度卻較低,這些資料增長的場景,帶來的是是我們傳統的一些資料基礎設施建設暴露出來的缺陷,比如自建數倉投入高、周期長、無法彈性擴縮容導致資金和人力成本投入越來越大;傳統數倉在存盤、搜索和分析挖掘等能力上的瓶頸也越來越突出,傳統離線資料建設無法滿足資料增長需求,數字化轉型迫在眉睫,許多企業已經在轉型或者在轉型的路上,

但企業在數字化轉型程序中并非一帆風順,還面臨著許多問題:
● 資料生產效率低
企業內部資料孤島現象比較嚴重,不同部門自行搭建資料倉庫,資料重復開發、難以共享,跨部門的資料需求回應周期長,
● 計算存盤成本高
資料量增長后計算和存盤的資源消耗也越來越大,此時資源利用不合理導致的資料延遲等問題也愈發突出,
● 資料質量問題頻繁發生
因開發人員水平參差不齊,資料研發規范不統一等原因導致的質量問題頻發且溯源困難,
● 資料安全難以保障
由于資料權限管理粒度粗、資料訪問認證欠缺等一系列的問題導致重要資料泄露,資料安全難以保障,

因此在離線數倉數字化轉型程序中,我們需要實作以下目標:
● 提升資料生成效率
● 提升資料質量
● 降低計算存盤成本
● 保障資料安全

二、離線數倉建設方法論
如何幫助企業建設離線數倉,我們主要從以下五步驟入手:

1、業務調研
企業進行離線數倉建設的第一步是進行業務調研,業務調研的目標是梳理核心的業務流程,包括這個業務流程中涉及到的環節及主要人員,關注的重點資料指標是什么,以及資料來源,和資料量,從企業整體的角度探查資料需求可以幫助架構師進行資料計算存盤底座和開發工具的選型,

2、技術選型
第二步技術選型階段,首先是底座選型,底座選型的目標是確定我們需要把不同來源的資料統一匯集到哪個存盤介質里,用什么樣的方式進行計算,在工具方面,離線開發比較關注資料同步、資料開發、任務調度相關的一些工具,這些方面無論是開源還是商業版目前市面上都有很多型別的產品可供選擇,

3、數倉域劃分
第三步是數倉主題域和主題劃分,一個主題域對應一個宏觀的分析領域,可以理解為一個業務資料大類,主題域的劃分方式根據企業內部需要可以按業務系統、需求、部門甚至是行業案例劃分,主題域劃分完成后可以繼續往下劃分一級主題二級主題,也就是資料大類下面的小類,直到劃分到物體為止,那么整個主題域主題就劃分完成了,

4、邏輯建模
第四步是邏輯建模,邏輯建模可分為指標體系梳理、物體關系調研、維度梳理及數倉分層這4個部分,

5、物理建模
在上面的四個步驟中我們已經把數倉框架搭建完成了,那么物理建模階段就是根據業務需求進行資料開發代碼撰寫和上線的程序,

三、離線開發實施流程
分享完離線數倉的建設方法論,接下來來為大家分享離線開發的實施流程,

● 第一步:資料集成(多源異構資料雙向讀寫)
流程中的第一步資料集成,本質上是把來自一些資料庫的資料經過資料的決議、轉換后寫入到相同或者異構的資料庫這樣一個程序,我們需要重點關注:
1、資料讀寫性能,關注工具是否能滿足資料同步要求的速率;
2、例外恢復,當同步任務出現各種原因的例外中斷時,能否從斷點處繼續進行資料讀寫,而不必每次出現例外都全部重新開始;
3、同步方式,關注同步工具能否支持全量、增量、批量的同步方式;
4、臟資料監控,如果源頭或資料轉換程序出現例外,這些例外資料能否進行記錄和分析,幫助資料開發追溯資料質量問題來源,

● 第二步:資料開發
1、SQL資料加工
通過SQL代碼實作資料加工邏輯,產出表的程序,需要關注的點是工具對于開發任務型別能否滿足要求,開發界面是否友好,任務的除錯,資料日志下載等基本功能是否滿足,
圖片

2、調度配置:編排任務有序按需執行
上一步完成代碼開發后,還需要為開發任務進行調度屬性配置,讓任務根據設定的依賴關系和計劃時間有序地運行,需要關注的重點是:穩定性與兼容性、任務依賴、周期調度,

● 第三步:任務發布
完成代碼開發除錯和調度配置后,我們就可以把資料開發任務從開發環境發布,也就是拷貝到生產環境中,由生產環境任務周期運行產生的資料就可以給業務方使用了,
一般資料開發會有三種環境模式,
1、單專案模式,也就是開發測驗都在一個專案內完成,經過測驗的任務直接跑生產資料,這種模式開發流程短,需求回應快,適合對資料穩定性和要求不高的場景,但大部分情況下我們不建議這么操作;
2、雙專案模式,資料開發在開發專案中完成任務開發和測驗,通過運維發布到生產環境中運行,開發專案和生產專案存在資料隔離,這種模式對資料安全比較有保障;
3、三專案模式,用戶有兩套網路相互隔離的集群,第一個集群用于資料開發和測驗,資料開發在開發環境進行編碼和自測,發布到測驗環境由測驗人員進行用例測驗,測驗完成的任務打包下載至本地,人工拷貝或傳輸到生產集群的專案下進行運行,這種模式雖然操作流程上多了一個環節,看起來比較麻煩,但由于網路隔離也最大程度上保證了生產資料的安全和穩定,

● 第四步:運維監控
任務運維就是全域掌控任務的運行,對于一些例外或緊急情況進行處理的程序,

● 第五步:資料安全
最后的資料安全其實貫穿在資料開發的整個流程中,資料安全包含資料權限管理、資料生命周期管理和資料訪問認證等內容,

以上就是離線開發建設落地的全程序,那么是否有一款產品能滿足上述需求呢?袋鼠云自研的數堆疊離線開發平臺就完美符合這個情景,
云原生一站式離線資料開發平臺(BatchWorks),具備靈活的多集群、多引擎對接能力,覆寫資料采集、資料開發、周期調度、監控告警等全鏈路功能,上線5年已服務500+客戶,專注于提供資料開發解決方案,幫助企業快速完成資料中臺離線數倉建設,加速釋放資料價值,

同時產品具備以下特點:
● 一站式可視化智能資料開發
一個平臺覆寫完整資料開發流程,減少組件運維成本與流程銜接操作,讓用戶專注于業務本身,全流程可視化操作附帶語法提示,智能調度與監控等多種輔助功能,減少上手成本,讓更多用戶參與資料使用,
● 多集群多引擎彈性兼容
支持輸出自研Hadoop集群,同時可對接CDH、HDP、TDH等多集群及Oracle、TiDB等多引擎;節點資源可根據計算存盤需求快速彈性伸縮,業務需求穩定回應,
● 全流程多維安全保障
多租戶多專案組織結構實作資料權限隔離的同時支持靈活的申請授權;多角色內置權限點實作功能隔離;資料權限全流程校驗,關鍵操作細粒度審計,最大限度減少生產安全事故,
四、離線數倉建設案例
接下來我們分享兩個使用數堆疊離線開發平臺完成數倉建設的實際案例,讓大家切實感受產品給客戶帶來的實際價值,
● 某銀行客戶

● 某高校客戶

原文來源:VX公眾號“數堆疊研習社”
袋鼠云開源框架釘釘技術交流群(30537511),歡迎對大資料開源專案有興趣的同學加入交流最新技術資訊,開源專案庫地址:https://github.com/DTStack
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/498918.html
標籤:其他
