離線數(shù)倉建設(shè),企業(yè)大數(shù)據(jù)的業(yè)務(wù)驅(qū)動與技術(shù)實現(xiàn)丨數(shù)智賦能 03 期回顧
一、離線數(shù)倉建設(shè)背景
離線數(shù)據(jù)是相對實時數(shù)據(jù)而言的數(shù)據(jù)產(chǎn)出,不同于實時數(shù)據(jù),離線數(shù)據(jù)一般是 T+1 天處理,也就是說昨天產(chǎn)生的數(shù)據(jù)至少要今天才能看到計算結(jié)果。離線數(shù)據(jù)一般應用于對數(shù)據(jù)時效要求不高,需要基于一段時間的歷史數(shù)據(jù)計算才能得到結(jié)果的場景,我們大致可以分為離線數(shù)據(jù)分析及數(shù)據(jù)應用兩類,離線數(shù)據(jù)計算具備:數(shù)據(jù)準確度高、吞吐量大、計算成本低等特點。

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

但企業(yè)在數(shù)字化轉(zhuǎn)型過程中并非一帆風順,還面臨著許多問題:
● 數(shù)據(jù)生產(chǎn)效率低
企業(yè)內(nèi)部數(shù)據(jù)孤島現(xiàn)象比較嚴重,不同部門自行搭建數(shù)據(jù)倉庫,數(shù)據(jù)重復開發(fā)、難以共享,跨部門的數(shù)據(jù)需求響應周期長。
● 計算存儲成本高
數(shù)據(jù)量增長后計算和存儲的資源消耗也越來越大,此時資源利用不合理導致的數(shù)據(jù)延遲等問題也愈發(fā)突出。
● 數(shù)據(jù)質(zhì)量問題頻繁發(fā)生
因開發(fā)人員水平參差不齊,數(shù)據(jù)研發(fā)規(guī)范不統(tǒng)一等原因?qū)е碌馁|(zhì)量問題頻發(fā)且溯源困難。
● 數(shù)據(jù)安全難以保障
由于數(shù)據(jù)權(quán)限管理粒度粗、數(shù)據(jù)訪問認證欠缺等一系列的問題導致重要數(shù)據(jù)泄露,數(shù)據(jù)安全難以保障。

因此在離線數(shù)倉數(shù)字化轉(zhuǎn)型過程中,我們需要實現(xiàn)以下目標:
● 提升數(shù)據(jù)生成效率
● 提升數(shù)據(jù)質(zhì)量
● 降低計算存儲成本
● 保障數(shù)據(jù)安全

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

1、業(yè)務(wù)調(diào)研
企業(yè)進行離線數(shù)倉建設(shè)的第一步是進行業(yè)務(wù)調(diào)研,業(yè)務(wù)調(diào)研的目標是梳理核心的業(yè)務(wù)流程,包括這個業(yè)務(wù)流程中涉及到的環(huán)節(jié)及主要人員,關(guān)注的重點數(shù)據(jù)指標是什么,以及數(shù)據(jù)來源,和數(shù)據(jù)量。從企業(yè)整體的角度探查數(shù)據(jù)需求可以幫助架構(gòu)師進行數(shù)據(jù)計算存儲底座和開發(fā)工具的選型。

2、技術(shù)選型
第二步技術(shù)選型階段,首先是底座選型,底座選型的目標是確定我們需要把不同來源的數(shù)據(jù)統(tǒng)一匯集到哪個存儲介質(zhì)里,用什么樣的方式進行計算。在工具方面,離線開發(fā)比較關(guān)注數(shù)據(jù)同步、數(shù)據(jù)開發(fā)、任務(wù)調(diào)度相關(guān)的一些工具,這些方面無論是開源還是商業(yè)版目前市面上都有很多類型的產(chǎn)品可供選擇。

3、數(shù)倉域劃分
第三步是數(shù)倉主題域和主題劃分,一個主題域?qū)粋€宏觀的分析領(lǐng)域,可以理解為一個業(yè)務(wù)數(shù)據(jù)大類。主題域的劃分方式根據(jù)企業(yè)內(nèi)部需要可以按業(yè)務(wù)系統(tǒng)、需求、部門甚至是行業(yè)案例劃分。主題域劃分完成后可以繼續(xù)往下劃分一級主題二級主題,也就是數(shù)據(jù)大類下面的小類,直到劃分到實體為止,那么整個主題域主題就劃分完成了。

4、邏輯建模
第四步是邏輯建模,邏輯建模可分為指標體系梳理、實體關(guān)系調(diào)研、維度梳理及數(shù)倉分層這 4 個部分。

5、物理建模
在上面的四個步驟中我們已經(jīng)把數(shù)倉框架搭建完成了,那么物理建模階段就是根據(jù)業(yè)務(wù)需求進行數(shù)據(jù)開發(fā)代碼編寫和上線的過程。

三、離線開發(fā)實施流程
分享完離線數(shù)倉的建設(shè)方法論,接下來來為大家分享離線開發(fā)的實施流程。

● 第一步:數(shù)據(jù)集成(多源異構(gòu)數(shù)據(jù)雙向讀寫)
流程中的第一步數(shù)據(jù)集成,本質(zhì)上是把來自一些數(shù)據(jù)庫的數(shù)據(jù)經(jīng)過數(shù)據(jù)的解析、轉(zhuǎn)換后寫入到相同或者異構(gòu)的數(shù)據(jù)庫這樣一個過程,我們需要重點關(guān)注:
1、數(shù)據(jù)讀寫性能,關(guān)注工具是否能滿足數(shù)據(jù)同步要求的速率;
2、異常恢復,當同步任務(wù)出現(xiàn)各種原因的異常中斷時,能否從斷點處繼續(xù)進行數(shù)據(jù)讀寫,而不必每次出現(xiàn)異常都全部重新開始;
3、同步方式,關(guān)注同步工具能否支持全量、增量、批量的同步方式;
4、臟數(shù)據(jù)監(jiān)控,如果源頭或數(shù)據(jù)轉(zhuǎn)換過程出現(xiàn)異常,這些異常數(shù)據(jù)能否進行記錄和分析,幫助數(shù)據(jù)開發(fā)追溯數(shù)據(jù)質(zhì)量問題來源。

● 第二步:數(shù)據(jù)開發(fā)
1、SQL 數(shù)據(jù)加工
通過 SQL 代碼實現(xiàn)數(shù)據(jù)加工邏輯,產(chǎn)出表的過程。需要關(guān)注的點是工具對于開發(fā)任務(wù)類型能否滿足要求,開發(fā)界面是否友好,任務(wù)的調(diào)試,數(shù)據(jù)日志下載等基本功能是否滿足。 圖片

2、調(diào)度配置:編排任務(wù)有序按需執(zhí)行
上一步完成代碼開發(fā)后,還需要為開發(fā)任務(wù)進行調(diào)度屬性配置,讓任務(wù)根據(jù)設(shè)置的依賴關(guān)系和計劃時間有序地運行。需要關(guān)注的重點是:穩(wěn)定性與兼容性、任務(wù)依賴、周期調(diào)度。

● 第三步:任務(wù)發(fā)布
完成代碼開發(fā)調(diào)試和調(diào)度配置后,我們就可以把數(shù)據(jù)開發(fā)任務(wù)從開發(fā)環(huán)境發(fā)布,也就是拷貝到生產(chǎn)環(huán)境中,由生產(chǎn)環(huán)境任務(wù)周期運行產(chǎn)生的數(shù)據(jù)就可以給業(yè)務(wù)方使用了。
一般數(shù)據(jù)開發(fā)會有三種環(huán)境模式。
**1、單項目模式,** 也就是開發(fā)測試都在一個項目內(nèi)完成,經(jīng)過測試的任務(wù)直接跑生產(chǎn)數(shù)據(jù),這種模式開發(fā)流程短,需求響應快,適合對數(shù)據(jù)穩(wěn)定性和要求不高的場景,但大部分情況下我們不建議這么操作;
**2、雙項目模式,** 數(shù)據(jù)開發(fā)在開發(fā)項目中完成任務(wù)開發(fā)和測試,通過運維發(fā)布到生產(chǎn)環(huán)境中運行,開發(fā)項目和生產(chǎn)項目存在數(shù)據(jù)隔離,這種模式對數(shù)據(jù)安全比較有保障;
**3、三項目模式,** 用戶有兩套網(wǎng)絡(luò)相互隔離的集群,第一個集群用于數(shù)據(jù)開發(fā)和測試,數(shù)據(jù)開發(fā)在開發(fā)環(huán)境進行編碼和自測,發(fā)布到測試環(huán)境由測試人員進行用例測試,測試完成的任務(wù)打包下載至本地,人工拷貝或傳輸?shù)缴a(chǎn)集群的項目下進行運行,這種模式雖然操作流程上多了一個環(huán)節(jié),看起來比較麻煩,但由于網(wǎng)絡(luò)隔離也最大程度上保證了生產(chǎn)數(shù)據(jù)的安全和穩(wěn)定。

● 第四步:運維監(jiān)控
任務(wù)運維就是全局掌控任務(wù)的運行,對于一些異常或緊急情況進行處理的過程。

● 第五步:數(shù)據(jù)安全
最后的數(shù)據(jù)安全其實貫穿在數(shù)據(jù)開發(fā)的整個流程中,數(shù)據(jù)安全包含數(shù)據(jù)權(quán)限管理、數(shù)據(jù)生命周期管理和數(shù)據(jù)訪問認證等內(nèi)容。

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

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

● 某高??蛻?/strong>

原文來源:VX 公眾號 “數(shù)棧研習社” 袋鼠云開源框架釘釘技術(shù)交流群(30537511),歡迎對大數(shù)據(jù)開源項目有興趣的同學加入交流最新技術(shù)信息,開源項目庫地址:https://github.com/DTStack