離線數倉建設,企業大資料的業務驅動與技術實現丨03期直播回顧

語言: CN / TW / HK

原文連結:離線數倉建設,企業大資料的業務驅動與技術實現丨03期直播回顧

影片回顧:點選這裡

課件獲取:點選這裡

一、離線數倉建設背景

離線資料是相對實時資料而言的資料產出,不同於實時資料,離線資料一般是T+1天處理,也就是說昨天產生的資料至少要今天才能看到計算結果。離線資料一般應用於對資料時效要求不高,需要基於一段時間的歷史資料計算才能得到結果的場景,我們大致可以分為離線資料分析及資料應用兩類,離線資料計算具備:資料準確度高、吞吐量大、計算成本低等特點。 file

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

但企業在數字化轉型過程中並非一帆風順,還面臨著許多問題:

● 資料生產效率低

企業內部資料孤島現象比較嚴重,不同部門自行搭建資料倉庫,資料重複開發、難以共享,跨部門的資料需求響應週期長。

● 計算儲存成本高

資料量增長後計算和儲存的資源消耗也越來越大,此時資源利用不合理導致的資料延遲等問題也愈發突出。

● 資料質量問題頻繁發生

因開發人員水平參差不齊,資料研發規範不統一等原因導致的質量問題頻發且溯源困難。

● 資料安全難以保障

由於資料許可權管理粒度粗、資料訪問認證欠缺等一系列的問題導致重要資料洩露,資料安全難以保障。 file

因此在離線數倉數字化轉型過程中,我們需要實現以下目標:

● 提升資料生成效率

● 提升資料質量

● 降低計算儲存成本

● 保障資料安全

file

二、離線數倉建設方法論

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

1、業務調研

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

2、技術選型

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

3、數倉域劃分

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

4、邏輯建模

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

5、物理建模

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

三、離線開發實施流程

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

● 第一步:資料整合(多源異構資料雙向讀寫)

流程中的第一步資料整合,本質上是把來自一些資料庫的資料經過資料的解析、轉換後寫入到相同或者異構的資料庫這樣一個過程,我們需要重點關注:

1、資料讀寫效能,關注工具是否能滿足資料同步要求的速率;

2、異常恢復,當同步任務出現各種原因的異常中斷時,能否從斷點處繼續進行資料讀寫,而不必每次出現異常都全部重新開始;

3、同步方式,關注同步工具能否支援全量、增量、批量的同步方式;

4、髒資料監控,如果源頭或資料轉換過程出現異常,這些異常資料能否進行記錄和分析,幫助資料開發追溯資料質量問題來源。 file

● 第二步:資料開發

1、SQL資料加工

通過SQL程式碼實現資料加工邏輯,產出表的過程。需要關注的點是工具對於開發任務型別能否滿足要求,開發介面是否友好,任務的除錯,資料日誌下載等基本功能是否滿足。 圖片 file

2、排程配置:編排任務有序按需執行

上一步完成程式碼開發後,還需要為開發任務進行排程屬性配置,讓任務根據設定的依賴關係和計劃時間有序地執行。需要關注的重點是:穩定性與相容性、任務依賴、週期排程。 file

● 第三步:任務釋出

完成程式碼開發除錯和排程配置後,我們就可以把資料開發任務從開發環境釋出,也就是拷貝到生產環境中,由生產環境任務週期執行產生的資料就可以給業務方使用了。

一般資料開發會有三種環境模式。

**1、單專案模式,**也就是開發測試都在一個專案內完成,經過測試的任務直接跑生產資料,這種模式開發流程短,需求響應快,適合對資料穩定性和要求不高的場景,但大部分情況下我們不建議這麼操作;

**2、雙專案模式,**資料開發在開發專案中完成任務開發和測試,通過運維釋出到生產環境中執行,開發專案和生產專案存在資料隔離,這種模式對資料安全比較有保障;


**3、三專案模式,**使用者有兩套網路相互隔離的叢集,第一個叢集用於資料開發和測試,資料開發在開發環境進行編碼和自測,釋出到測試環境由測試人員進行用例測試,測試完成的任務打包下載至本地,人工拷貝或傳輸到生產叢集的專案下進行執行,這種模式雖然操作流程上多了一個環節,看起來比較麻煩,但由於網路隔離也最大程度上保證了生產資料的安全和穩定。 file

● 第四步:運維監控

任務運維就是全域性掌控任務的執行,對於一些異常或緊急情況進行處理的過程。 file

● 第五步:資料安全

最後的資料安全其實貫穿在資料開發的整個流程中,資料安全包含資料許可權管理、資料生命週期管理和資料訪問認證等內容。 file

以上就是離線開發建設落地的全過程,那麼是否有一款產品能滿足上述需求呢?袋鼠雲自研的數棧離線開發平臺就完美符合這個情景。

**雲原生一站式離線資料開發平臺(BatchWorks),**具備靈活的多叢集、多引擎對接能力,覆蓋資料採集、資料開發、週期排程、監控告警等全鏈路功能。上線5年已服務500+客戶,專注於提供資料開發解決方案,幫助企業快速完成資料中臺離線數倉建設,加速釋放資料價值。 file

同時產品具備以下特點:

● 一站式視覺化智慧資料開發

一個平臺覆蓋完整資料開發流程,減少元件運維成本與流程銜接操作,讓使用者專注於業務本身。全流程視覺化操作附帶語法提示,智慧排程與監控等多種輔助功能,減少上手成本,讓更多使用者參與資料使用。

● 多叢集多引擎彈性相容

支援輸出自研Hadoop叢集,同時可對接CDH、HDP、TDH等多叢集及Oracle、TiDB等多引擎;節點資源可根據計算儲存需求快速彈性伸縮,業務需求穩定響應。

● 全流程多維安全保障

多租戶多專案組織結構實現資料許可權隔離的同時支援靈活的申請授權;多角色內建許可權點實現功能隔離;資料許可權全流程校驗,關鍵操作細粒度審計,最大限度減少生產安全事故。

四、離線數倉建設案例

接下來我們分享兩個使用數棧離線開發平臺完成數倉建設的實際案例,讓大家切實感受產品給客戶帶來的實際價值。

● 某銀行客戶

file

● 某高校客戶

file

原文來源:VX公眾號“數棧研習社” 袋鼠雲開源框架釘釘技術交流群(30537511),歡迎對大資料開源專案有興趣的同學加入交流最新技術資訊,開源專案庫地址:https://github.com/DTStack

「其他文章」