DataOps不是工具,而是幫助企業實現數據價值的最佳實踐

来源:https://www.cnblogs.com/DTinsight/archive/2022/07/28/16527638.html
-Advertisement-
Play Games

2008年,“大數據”一詞在《大數據時代》中被首次提出,距今已有整整14個年頭。在這14年中,許多人親眼見證了數據的力量,以及目睹它如何改變世界。大部分企業的決策者都明白了一個道理:數據才是企業中最有價值的商品,它可以被人為選擇成就還是破壞業務。 然而,自流行詞“大數據”出現的14年後,如何獲得更高 ...


2008年,“大數據”一詞在《大數據時代》中被首次提出,距今已有整整14個年頭。在這14年中,許多人親眼見證了數據的力量,以及目睹它如何改變世界。大部分企業的決策者都明白了一個道理:數據才是企業中最有價值的商品,它可以被人為選擇成就還是破壞業務。

然而,自流行詞“大數據”出現的14年後,如何獲得更高質量的數據,以及更智能的數據管理,幫助企業做出明智和及時的決策,仍然是許多企業的“疑難雜症”。每個人的嘴裡都在談論數據治理和數據管理,卻沒有人真正知道該怎麼辦。

幸運的是,一種幫助企業提升數據分析質量和效率的方法論正在興起,它就是DataOps。基於DataOps,企業數據中台可以實現數據利用率最大化,加快生產周期,及針對結果優化的數據管道。

今天,我們將展開說說DataOps,以及為什麼它對於每一個想要真正實現數據賦能業務的企業都很重要。

一、DataOps是什麼

DataOps(Data Operations)並不是一個新的概念,根據維基百科的說明,早在2014年就被IBM(Lenny Liebmann)提出,在2017年得到大範圍關註,併在2018年正式被納入Gartner的數據管理技術成熟度曲線當中。

今年,中國信通院正式牽頭啟動了DataOps的標準建設工作,以此為基礎推動我國大數據產業的多元化發展,為企業經營決策提供數據支持。

同時需註意的一點,DataOps不是一個工具或產品,可以理解成一種「方法論,或者最佳實踐」,類似軟體開發中的「敏捷方法」。不能以功能的視角去看待DataOps,而是以「我應該如何做」的視角來看待此問題。

DataOps的目標是提供工具、過程以及結構化的方式來應對快速增長的數據,對企業內的數據團隊賦能,能夠使企業內的數據團隊更高效、高質量的完成數據分析,它強調交流、協作、多系統集成以及自動化流程,並配套具備對應的度量方式。

二、DataOps的涵蓋內容

下圖為標準的DataOps涵蓋的內容,主要包括數據技術、數據管道、數據處理3個方面,最終為商業用戶輸出價值。

file

原圖出自:https://www.eckerson.com/articles/diving-into-dataops-the-underbelly-of-modern-data-pipelines

三、數棧DataOps實踐

從發展上看,自2018年被納入Gartner的數據管理技術成熟度曲線中以來,DataOps的熱度逐年上升;從實踐上看,歐美企業對於DataOps的探索和發展要早於中國,DataOps在我國仍處於一個從萌芽期到爆發期的關鍵過渡階段。

數棧依據多年經驗,通過敏銳的嗅覺快人一步開始探索DataOps的實踐,總結出DataOps的3個層次+4個核心能力,助力企業加快數據洞察的步伐,具體分析如下:

file

1、基礎層:多環境(集群)管理

在基礎層,數棧支持多環境多集群管理,支持一套統一的平臺來對接多套不同規模、不同類型的集群,支持Cloudera Hadoop、華為FusionInsight、華為MRS、星環Inceptor、Greenplum、GaussDB、MySQL等各類資料庫作為計算引擎,提供統一的開發與應用體驗,具備跨雲部署以及對跨雲EMR的相容能力,面向多雲場景提供統一開發、統一管控能力,用戶可在不同的集群環境中(同類型引擎)實現代碼及相關資源的無縫發佈。

file

2、開發層:數據開發全鏈路

按照數據開發的基本過程,分為:模型設計、數據開發、部署上線、質量稽核4個步驟,日常用戶的主要操作均是在這4個步驟之中,下麵詳細闡述:

1)模型設計

按照標準的數據中台建設模式,分為「制定標準」、「模型設計」2大部分。制定標準、模型的線上設計均可在數棧中線上進行,無需線下維護單獨的數據標準文檔、數據模型文檔等內容,普通開發人員完成模型設計後,需提交管理員審核,模型經審核後允許上線/變更操作。

模型設計及標準制定可細分為6個單元,如下圖所示:

file

其中數倉層級、規範設計、模型元素屬於表級別定義,數據詞表、詞根、碼表屬於欄位級別定義,數棧將6個單元以產品化的形式進行梳理、組合,便於企業建立自己的數據治理體系。

3)數據開發

數據開發環節,通過豐富的任務類型、代碼的版本管理、責任人機制等,實現數據開發、數據分析的可持續發展,具體內容如下:

● 20+種豐富的任務類型

支持離線同步、實時同步、離線計算、實時計算、關係型資料庫計算、管理節點、腳本任務等5大類,20+種不同的任務類型。用戶可將企業內的數據採集、加工的各類離線、實時處理過程統一由數棧進行管理,實現一體化的數據開發平臺。

● 數據測試

支持上傳樣本數據,模擬測試,進行數據邏輯驗證與測試。

file

● 代碼預檢查

提交代碼之前進行「預檢查」,防止上線後發生問題。

file

未來數棧將在系統規則的基礎上,支持自定義校驗規則,用戶可基於數棧暴露的介面進行自定義開發,例如代碼JOIN次數限制、分區表禁止全表掃描、禁止跨數倉層級訪問等規則,可通過自定義開發Jar包的方式進行自定義規則校驗。

3)部署上線

用戶完成開發後,需將代碼從測試環境發佈至生產環境,平臺需支持快速的任務發佈,將開發/測試環節的代碼及其依賴資源快速發佈至生產環境。

數棧的部署發佈分為兩種模式:

● 雙項目模式

可將一個項目中開發的任務發佈至另一個項目。雙項目模式可以在代碼層和底層數據層面實現很好的隔離性,保障數據安全。

● 導入導出式發佈

對於物理環境隔離的場景,可將開發的任務代碼、依賴的UDF函數、Jar包等關聯資源一起導出為zip包,併在生產環境執行一鍵導入。

除了代碼發佈外,還支持代碼的版本管理、版本對比、快速回滾能力。數棧能記錄每次提交發佈的任務代碼和運行參數,並標註每個版本的修改內容,幫助定位代碼問題,同時可支持一鍵版本回滾。

file

3)治理層:統一元數據 質量稽核

治理層主要包括統一元數據及質量稽核兩塊能力:

統一元數據

支持將數棧平臺內的各類元數據匯聚、展示、打通、分析等,包括:元數據基礎屬性、離線表/任務、實時表/任務、API、標簽、指標等各類元數據。

● 全域血緣打通

根據數據在中台內的採集、流轉、對外服務等各環節的處理方式,自動建立全平臺的血緣關係,基於核心的智能化SQL血緣解析能力,實現平臺內跨應用的血緣打通,可視化展示數據的流轉影響鏈路。

● 資產分析

可支持資產的版本變更記錄/對比、數據產出分析、使用分析、質量分析等統計內容。

file

質量稽核

支持對數據進行質量校驗,幫助企業及時發現數據問題。通過事前規則配置、事中規則校驗、事後分析報告的流程化方式,對數據的完整性、準確性、規範性、唯一性、一致性等方面進行多維度評估,保障企業數據質量服務,支持規則配置、任務查詢、實時校驗等。

file

4)關鍵能力

數棧DataOps包括以下四大能力:

統一調度編排

數棧內置分散式調度引擎Taier,支持百萬級別複雜依賴調度。調度平臺在數棧內為底層通用能力,離線、實時、質量校驗、標簽、指標等各任務均使用統一的調度能力。

在此基礎上,各產品模塊之間可進行靈活的相互依賴,例如離線完成數據抽取+計算後,自動觸發標簽任務的計算等場景。

file

統一監控/告警

數棧支持統一的告警通道,不同的產品模塊內可能都會使用告警能力,例如離線任務突破基線、實時任務失敗、API調用失敗、質量校驗未通過等。針對某個告警通道僅需開發一次,即可再各個產品內使用此告警方式,例如簡訊、郵件,企業微信、釘釘、電話告警等。

file

模型設計

數棧在數據安全層面可分為如下幾個方面:

● 系統安全

通過服務高可用部署、數據定期備份等策略保障服務安全。登錄密碼可按照長度、複雜度、強制定期更換等方式支持多種安全策略,密碼採用國密加密傳輸+加密存儲。

● 數據安全

底層可集成LDAP+Ranger+Kerberos數據安全組件。在Hadoop體系內可支持庫、表、列、行級數據許可權控制。在服務安全方面,可支持行、列許可權控制、多種認證方式、國密加密等特性,保障用戶數據安全。

● 安全審計

自動記錄用戶的關鍵操作行為、數據訪問行為,可由管理員進行用戶操作行為審計,排查異常行為。

file

團隊協作

● 責任人機制

每個任務、表、標簽、API、指標、告警配置等「資源」均建立責任人機制,當發生異常需配合排查時,可快速獲取相關負責人,便於線下溝通。

● 一鍵交接

當發生人員變動時,支持一鍵交接,可批量將當前負責人的全部資源自動替換,便於工作交接。

● 用戶組

當開發團隊規模較大,需要再次細分時,可按照用戶組的方式進行管理,例如按用戶組批量添加用戶、分配功能許可權/數據許可權、發送告警等場景,無需反覆操作。

file

四、結語

隨著時間的推移,數據的數量、頻率、多樣性都在增加,在一個萬物皆可被度量的時代,數據積累的速度超過大部分企業跟上其腳步的速度。這也意味著能夠幫助企業完成自動化日常任務,提高數據質量,促進不同團隊之間的協作,帶來更準確的洞察和分析,以及助力企業進入敏捷、自動化和加速的數據供應鏈環境的DataOps,未來將會在企業的數智化蛻變中,發揮不可小覷的作用。

企業實現 DataOps 有賴於一系列廣泛的技術和流程,數棧目前已經在採集、加工、治理的核心流程上,通過版本控制、團隊協同、一鍵發佈、質量稽核、數據安全等能力實踐了基本的DataOps理念,但依然有很多方面亟需改善,例如:利用AI/ML技術降低人為操作的成本與失誤、對研發效能增加更多的的度量指標(Metric),以數據化的方式來衡量研發效能的增減等方面,均需要數棧團隊,以及全行業一起努力。

袋鼠雲開源框架釘釘技術交流qun(30537511),歡迎對大數據開源項目有興趣的同學加入交流最新技術信息,開源項目庫地址:https://github.com/DTStack


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 換源(建議清華源或者阿裡源) sudo apt update sudo apt upgrade # 軟體升級 sudo apt dist-upgrade #內核更新 grub-customizer 引導控制工具 sudo add-apt-repository ppa:danielrichter200 ...
  • 一、電腦基礎和Linux基礎知識 1.馮諾依曼體繫結構 1946年美籍匈牙利數學家馮·諾依曼於提出存儲程式原理,把程式本身當作數據來對待,程式和該程式處理的數據用同樣的方式儲存。馮·諾依曼體系的要點是: 數字電腦的數制採用二進位,bit位, byte位元組1 byte = 8 bit 電腦應該按 ...
  • #資料庫的CRUD語句 ##INSERT語句 ###在指定列中插入數據 INSERT INTO 表名 (column1,column2,column3,...) VALUES (value1,value2,value3,...); INSERT INTO website (url,country) ...
  • 使用flink的時候難免和redis打交道,相信大家都使用過flink-connector-redis來處理,但是當我想要使用RedisSink寫入集群時,發現居然不支持使用密碼,於是有了這篇筆記。 ...
  • 19 | 為什麼我只查一行的語句,也執行這麼慢? 有些情況下,“查一行”,也會執行得特別慢。 需要說明的是,如果 MySQL 資料庫本身就有很大的壓力,導致資料庫伺服器 CPU 占用率很高或 ioutil(IO 利用率)很高,這種情況下所有語句的執行都有可能變慢,不屬於本章討論範圍。 為了便於描述, ...
  • 18 | 為什麼這些SQL語句邏輯相同,性能卻差異巨大? 在 MySQL 中,有很多看上去邏輯相同,但性能卻差異巨大的 SQL 語句。對這些語句使用不當的話,就會不經意間導致整個資料庫的壓力變大。 三個案例 案例一:條件欄位函數操作 假設你現在維護了一個交易系統,其中交易記錄表 tradelog 包 ...
  • 步驟一:設置sql server資料庫 1.以新建一個新用戶名test作為遠程連接登錄名。在本地登錄sql server資料庫,安全性->右鍵用戶名 2.點擊根目錄右鍵,選擇屬性 選擇安全性 選擇連接,勾上允許遠程連接到此伺服器,點擊確定 3.設置伺服器的方面選項 4.設置sql server 配置 ...
  • 上篇文章講了MySQL架構體系,瞭解到MySQL Server端的優化器可以生成Explain執行計劃,而執行計劃可以幫助我們分析SQL語句性能瓶頸,優化SQL查詢邏輯,今天就一塊學習Explain執行計劃的具體用法。 ...
一周排行
    -Advertisement-
    Play Games
  • Github / Gitee QQ群(1群) : 813100564 / QQ群(2群) : 579033769 視頻教學 介紹 MiniWord .NET Word模板引擎,藉由Word模板和數據簡單、快速生成文件。 Getting Started 安裝 nuget link : https:// ...
  • Array.Sort Array類中相當實用的我認為是Sort方法,相比起冗長的冒泡排序,它的出現讓排序更加的簡化 結果如下: 還可以聲明一個靜態方法用來專門調用指定數組排序,從名為 array 的一維數組中 a 索引處開始,到 b 元素 從小到大排序。 註意: a + b 不能大於 array 的 ...
  • 前言 在上一篇文章CLR類型系統概述里提到,當運行時掛起時, 垃圾回收會執行堆棧遍歷器(stack walker)去拿到堆棧上值類型的大小和堆棧根。這裡我們來翻譯BotR里一篇專門介紹Stackwalking的文章,希望能加深理解。 順便說一句,StackWalker在中文里似乎還沒有統一的翻譯,J ...
  • 使用過 nginx 的小伙伴應該都知道,這個中間件是可以設置跨域的,作為今天的主角,同樣的 反向代理中間件的 YARP 毫無意外也支持了跨域請求設置。 有些小伙伴可能會問了,怎樣才算是跨域呢? 在 HTML 中,一些標簽,例如 img、a 等,還有我們非常熟悉的 Ajax,都是可以指向非本站的資源的 ...
  • 什麼是Git Git 是一個開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的項目。 Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。 Git 與常用的版本控制工具 CVS, Subversion 等不同,它採用了分散式版本庫的 ...
  • 首先CR3是什麼,CR3是一個寄存器,該寄存器內保存有頁目錄表物理地址(PDBR地址),其實CR3內部存放的就是頁目錄表的記憶體基地址,運用CR3切換可實現對特定進程記憶體地址的強制讀寫操作,此類讀寫屬於有痕讀寫,多數驅動保護都會將這個地址改為無效,此時CR3讀寫就失效了,當然如果能找到CR3的正確地址... ...
  • 說明 onlyoffice為一款開源的office線上編輯組件,提供word/excel/ppt編輯保存操作 以下操作均基於centos8系統,officeonly鏡像版本7.1.2.23 鏡像下載地址:https://yunpan.360.cn/surl_y87CKKcPdY4 (提取碼:1f92 ...
  • 二叉樹查找指定的節點 前序查找的思路 1.先判斷當前節點的no是否等於要查找的 2.如果是相等,則返回當前節點 3.如果不等,則判斷當前節點的左子節點是否為空,如果不為空,則遞歸前序查找 4.如果左遞歸前序查找,找到節點,則返回,否繼續判斷,當前的節點的右子節點是否為空,如果不為空,則繼續向右遞歸前 ...
  • ##Invalid bound statement (not found)出現原因和解決方法 ###前言: 想必各位小伙伴在碼路上經常會碰到奇奇怪怪的事情,比如出現Invalid bound statement (not found),那今天我就來分析以下出現此問題的原因。 其實出現這個問題實質就是 ...
  • ###一、背景知識 爬蟲的本質就是一個socket客戶端與服務端的通信過程,如果我們有多個url待爬取,只用一個線程且採用串列的方式執行,那隻能等待爬取一個結束後才能繼續下一個,效率會非常低。 需要強調的是:對於單線程下串列N個任務,並不完全等同於低效,如果這N個任務都是純計算的任務,那麼該線程對c ...