激活數據價值,探究DataOps下的數據架構及其實踐丨DTVision開發治理篇

来源:https://www.cnblogs.com/DTinsight/archive/2022/09/30/16744170.html
-Advertisement-
Play Games

據中國信通院發佈,2012年到2021年10年間,我國數字經濟規模由12萬億元增長到45.5萬億元,在整個GDP中的比重由21.6%提升至39.8%。順應時代發展新趨勢,“數據”成為新的生產要素已是毋庸置疑的共識。 如果說數據中台的崛起代表著企業數字化轉型從流程驅動走向數據驅動,從數字化走向智能化。 ...


據中國信通院發佈,2012年到2021年10年間,我國數字經濟規模由12萬億元增長到45.5萬億元,在整個GDP中的比重由21.6%提升至39.8%。順應時代發展新趨勢,“數據”成為新的生產要素已是毋庸置疑的共識。

如果說數據中台的崛起代表著企業數字化轉型從流程驅動走向數據驅動,從數字化走向智能化。那麼DataOps,則是實現數據中台的一個優秀的理念或方法論。

DataOps的概念早在2014年即由Lenny Liebmann提出,2018年DataOps正式被納入Gartner的數據管理技術成熟度曲線當中,標志著DataOps正式被業界所接納並推廣起來。雖然目前在國內仍處於發展初期,但是DataOps的熱度逐年上升,在可預見的未來2-5年內將得到更加廣泛的實踐應用。

袋鼠雲便是其中的一位探索者。作為全鏈路數字化技術與服務提供商的袋鼠雲,從創立以來便一直深耕大數據領域。伴隨著各行各業加速數智化轉型的步伐逐年加快,對於數據治理、數據管理等方面的許多問題也逐漸顯露。

為此,在技術進步和客戶數字轉型需求的驅動下,袋鼠雲打造的一站式大數據開發與治理平臺——數棧DTinsight,基於DataOps理念開展數據價值化流程,實現了數據全生命周期的質量監管和數據開發流程規範,為數據治理保駕護航。

響應變化

DataOps的核心理念之一就是及時響應需求端的變化。下麵是一張很典型的企業數據架構圖:

數據從左側的源系統流入,中間環節是各類數據處理的工具,例如數據湖、數據倉庫或數據集市、AI分析等,數據經過清洗、加工、彙總統計、數據治理等過程,最終通過BI、定製化報表、API等工具服務於各類需求方。

file

企業內的數據架構師或管理者,在定義平臺架構時,一般主要考慮生產環境下的極致的性能、延遲、負載管理等問題,很多計算引擎/資料庫都精於此道。但這種架構並沒有體現出「響應快速變化」的能力:

這就像是設計一條公路,在設計時只考慮了正常情況下的通行能力,並沒有考慮事故、堵車、暴雨等各種臨時變化,在「上線」之後發現每日疲於應對,並沒有提升太多通行能力(比如只有2個車道的隧道,一個小的剮蹭事故就可能把整條隧道堵住)。企業內的數據平臺也會遇到類似的情況,企業內的數據工作者,每天甚至每個小時都要響應這種變化,有時一個簡單的SQL變更上線甚至可能要花幾天的時間。

在設計階段考慮各種變化,可以更靈活、更穩定的響應,下麵是DataOps視角下的數據架構。

DataOps視角下的數據架構

數據架構師在建設伊始就提出如下一些敏捷性的標準,例如:

• 任務從完成開發到發佈生產,需要在1小時內完成,且對生產環境無影響

• 在發佈至生產環境前,及時發現數據錯誤

• 重大變更,在1天內完成

同時需要考慮一些環境的問題,包括:

• 必需維護獨立的開發、測試和生產環境,但要在一定程度上保證其一致性,至少是元數據的一致性

• 可以人工編排,或自動化的實現數據的測試、質量監控以及部署至生產環境

當架構師開始思考數據質量、快速發佈、數據的實時監控等問題時,企業就向DataOps邁進了一步。

DataOps架構的分解與實踐

講完了DataOps視角下的數據架構,接下來來講講DataOps架構的分解與實踐。DataOps具體實踐可以分解為如下幾個關鍵點:

file

多環境的管理

DataOps的第一步從「環境管理」開始,一般是指獨立的開發、測試和生產環境,每個環境下都可以支持任務的編排、監控和自動化測試。

數棧目前可支持同時對接多套環境,只要網路相通,即可實現一套數棧對多個不同環境的統一對接和統一管理。數棧是通過Console中的「集群」概念來進行不同環境的區分,不同的集群可靈活對接各類不同的計算引擎,例如各類開源或發行版Hadoop、星環Inceptor、Greenplum、OceanBase,甚至MySQL、Oracle等傳統的關係型資料庫,如下圖所示:

file

任務發佈

承接上個步驟的多環境管理,在實際開發過程中,需要進行多個環境之間的任務發佈,假設存在開發、測試、生產環境,則需要在多個環境之間進行級聯形式的發佈,如下圖所示:

file

在這種多環境發佈的情況下,數棧可支持三種方式進行發佈管理:

● 一鍵發佈

當各個環境網路相通,可使用一套平臺對接各個環境,實現「一鍵發佈」。一鍵發佈過程中,僅有一定許可權的用戶才可以執行發佈動作,提升生產環境穩定性。與此同時,可自動替換一些關鍵的環境信息,例如同步任務中的數據源連接參數、不同環境下的算力配置等。一鍵發佈比較適合SaaS或內部雲平臺的管理方式。

● 導入/導出式發佈

在目前國內接觸的絕大多數場景中,客戶為了實現更高的安全等級,生產環境會採用嚴格的物理隔離。這種場景可以採用導入導出的方式實現任務的跨環境發佈,用戶可手動將新增、變更或刪除的任務導入至下游環境。

● Devops發佈

某些客戶可能已經採購或自研了公司級的線上發佈工具,此時需要數棧定製化的對接其介面,將相關變更信息由第三方CI工具(例如Jekins)代為執行發佈。
file

代碼的版本管理

每次進行跨環境的發佈時,需要記錄每次發佈代碼的版本,便於後期排查問題。在實際場景中,經常需要進行不同版本間的代碼對比、版本回退等操作。

數棧除了支持對代碼內容進行對比之外,還支持對任務相關的更多信息進行對比,包括任務調度周期的配置、任務執行參數、環境參數等,並可以「一鍵回退」至指定的版本。

file

訪問與許可權管理

在企業內的多個環境中,一般對生產環境的要求最高,對開發和測試環境相對寬鬆。在這種情況下,即需要管理用戶在不同環境下的認證或訪問信息。實際上為了開發和測試方便,且沒有敏感數據,在這2個環節,一般是普通用戶都有全部的數據許可權,並可以訪問各種工具,但在生產環境中,用戶肯定只有自己許可權範圍內的數據許可權。

根據引擎的不同,數棧可支持多種數據許可權管理方式,包括:

● Hadoop引擎

以Kerberos為基礎的認證安全+以Ranger/LDAP為基礎的數據安全。可以支持庫、表、欄位級別的數據許可權控制。同時可支持數據脫敏。

file

● JDBC類引擎

部分場景中,客戶可能並未採用Hadoop來建設數據平臺,而是採用一些JDBC類的資料庫(例如TiDB、Doris、Greenplum),而數棧本身並不管理JDBC資料庫的許可權,而是採用賬號綁定的方式來控制,以此區分不同賬號的許可權,例如:

· 數棧A賬號,綁定資料庫root賬號

· 數棧B賬號,綁定資料庫admin賬號

● 任務編排、測試與監控

在發佈上線至生產後,數棧可將上述各個環節串連起來,用戶從開發階段可以一鍵發佈至測試環境,經測試環境驗證後,觀察任務實例、數據產出的運行情況,運行無誤後可發佈至生產環境。

寫在最後的話

DataOps是一種最佳實踐的理念,但目前在國內還處於比較早期的階段,數棧在這方面有過一些實踐經驗,但還有不少可以優化的內容,比如數據質量的規則也需要跨環境發佈、任務代碼、任務模板的導出需要支持更多的任務類型等等,期待未來行業內有更多的DataOps的最佳實踐能產生。

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


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

-Advertisement-
Play Games
更多相關文章
  • [演算法2-數組與字元串的查找與匹配] (.NET源碼學習) 關鍵詞:1. 數組查找(演算法) 2. 字元串查找(演算法) 3. C#中的String(源碼) 4. 特性Attribute 與內在屬性(源碼) 5. 字元串的比較(底層原理) 6. C#中的StringComparsion(源碼) 7. 字 ...
  • 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家講的是一個關於Segger J-Flash在Micron Flash固定區域下載校驗失敗的故事。 痞子衡最近在支持一個 i.MXRT1170 歐美客戶,客戶項目里選用了來自 Micron 的四線 NOR Flash - MT25QL256ABA ...
  • 《上古卷軸5:天際》是Bethesda五年磨一劍的《上古卷軸》系列作品,Bethesda將提供充滿無限期待與幻想的諾德大陸。在這廣闊的地圖之上,Bethesda工作室給玩家提供了超過120個不重覆的地下迷宮,以及5個規模巨集大的城市供玩家探索,而玩家將在這個奇異自由的世界踏上史詩性的徵程,使用自己心儀 ...
  • @(文章目錄) 前言 今天和大家一起來看一下在LabVIEW中如何使用OpenCV DNN模塊實現手寫數字識別 一、OpenCV DNN模塊 1.OpenCV DNN簡介 OpenCV中的DNN(Deep Neural Network module)模塊是專門用來實現深度神經網路相關功能的模塊。Op ...
  • 一、原理總結 利用兩個寄存器R4和R5來存儲兩個數位管的顯示效果,R4是前一個數位管顯示所需,而R5是後一個數位管顯示所需,利用左移操作RLC來使之每一位被依次輸入到C中,然後將C輸入到LED中(當LED每位都有數據時,數位管才會顯示),利用停頓函數使數位管上數字停留一段時間。 二、程式分析 以下為 ...
  • Java資料庫的安裝和使用 1.資料庫的作用 一個問題:淘寶網、京東、微信抖音,都有各自的功能,那麼我們退出系統的時候,為什麼信息還在? 解決之道-文件,資料庫 為瞭解決上訴問題,使用更加利於管理數據東西-資料庫,他能更加有效地管理數據。 舉一個生活化的案例說明:如果說圖書館是保存書籍的,那麼資料庫 ...
  • LIKE操作符:通配符搜索只能用於文本欄位(字元串) 1、%通配符 1 select 2 col_name 3 from 4 table_name 5 where 6 col_name 7 like "%str" 2、_通配符 1 select 2 col_name 3 from 4 table_n ...
  • 一直使用Postgresql資料庫,有一張表是這樣的: DROP TABLE IF EXISTS "public"."devicedata"; CREATE TABLE "public"."devicedata" ( "Id" varchar(200) COLLATE "pg_catalog"."d ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...