別扯資料化轉型了,先夯實資料底座吧
2019-2021 人人都提資料中臺,張口就說業務資料化、資料業務化,資料驅動業務,甚至資料重塑業務;如今大家又與時俱進開始侃侃而談資料化轉型。在我們討論資料化轉型、資料中臺、資料雲時候都離不開一個穩定可持續迭代的資料底座。這裡資料底座包括離線數倉、實時數倉、資料湖。數倉(包括離線數倉、實時數倉、資料湖)就是這個資料底座。
資料倉儲是一個面向主題的、整合的、隨時間變化的、但資訊本身相對穩定的資料集合,用於對管理決策過程的支援。
數倉建設思路
數倉主要是圍繞著資料使用方與資料開發方訴求進行建設;因此在開始規劃數倉建設時,需要先剖析各方需求、痛點與癢點,然後再在這些訴求設計解決方案與確定建設內容。資料使用方主要訴求是能不能快速找到、找到怎麼用、有哪些資料,在使用資料時,主要存在三大類問題
找不到,不知道資料有沒有、在哪裡。
看不懂,有很多業務方不是技術研發團隊的,看不懂資料到底什麼含義、怎麼關聯查詢、來源於哪個業務系統。
不會用,如何寫 SQL 或者哪些產品裡面能查詢到自己想要的資料指標。
因此針對資料使用方,在數倉建設過程中需要滿足:找得到、看得懂、用得對資料開發工程師更多是關注資料開發便利性、高效性與快速定位問題,因此資料開發方主要是以下幾點訴求:
資料複用:資料需求煙囪式開發,導致了大量重複邏輯程式碼的研發,透過資料複用可以縮短資料需求交付,提高資料開發效率,滿足業務對資料的敏捷研發要求。
問題追蹤:在資料處理過程與資料質量分析過程可以快速定位問題源頭。
影響分析:可以快速高效對資料規則修改或資料上下架影響進行分析。
數倉建設內容
明確數倉建設目標之後,主要是從以下幾個方面搭建數倉能力:
分層架構:分層架構可以簡化資料清洗的過程、為資料與模型可複用提供基礎。
主資料管理:透過主資料打通各業務鏈條,統一資料語言,統一資料標準,實現資料共享。
指標體系:指標體系就是將各個指標按照特定的框架組織起來,從而統一指標名稱及口徑定義,理清指標間構成關係,避免重複建設
詞根管理:透過詞根可以用來規範表名、欄位名、主題域名等等。
資料血緣:資料溯源、資料價值與質量評估。
01. 分層架構
透過資料分層管理可以更好組織、管理與維護數倉資料,簡化資料開發工作,每一層的處理邏輯相對簡單與容易理解,也比較容易保證每一個步驟的正確性,從而簡化資料清洗的過程。
分層是在利用空間換時間,透過大量的預處理來提升應用系統的使用者體驗(效率),因此資料倉儲會存在大量冗餘的資料;不分層的話,如果源業務系統的業務規則發生變化將會影響整個資料清洗過程,工作量巨大。
透過資料分層為資料與模型可複用提供基礎,很多資料質量問題是因為我們資料與模型無法複用導致業務口徑與技術口徑無法統一;新的需求,都從原始資料重新計算,從而衍生出很多資料質量問題。數倉分層一般如下:
ODS層:載入與處理業務系統源資料的臨時區。ODS是面向系統,貼源遷移。不改變資料結構和資料粒度,但需清洗髒資料。
DWD:企業唯一的、整合的、準確的資料版本。資料按主題域組織,資料結構按實體和關係重構,資料粒度保留最細。使用E-R建模。
DWS:面向業務,維度建模。資料按業務過程組織,資料結構按事實表和維度表重構,資料粒業務度按需彙總。
ADS:面向應用場景使用適合的工具提升資料儲存與處理的效率,從而提供資料服務。
02. 主資料管理
能夠滿足企業跨部門協同需要的、反映核心業務實體狀態屬性的企業(組織機構)基礎資訊,屬性相對穩定、準確度要求更高、唯一識別的,就是主資料,稱為MDM。
主資料是描述核心業務的關鍵事實,例如客戶、產品、員工、地區等;同時也包含這些事實間的資料關係。主資料管理主要體現了以下價值:
消除資料冗餘:不同系統、不同部門按照自身規則和需求獲取資料,容易造成資料重複儲存,形成資料冗餘。主資料打通各業務鏈條,統一資料語言,統一資料標準,實現資料共享,最大化消除了資料冗餘。
提升資料處理效率:各系統、各部門對於資料定義不一樣,不同版本的資料不一致,一個核心主題也有多個版本的資訊,需要大量的人力、時間成本去整理和統一。透過主資料管理可以實現資料動態整理、複製、分發和共享。
提高公司戰略協同力:資料作為公司內部經營分析、決策支撐的“通行語言”,實現多個部門統一後,有助於打通部門、系統壁壘,實現資訊整合與共享,提高公司整體的戰略協同力。
下圖是主資料資產清單示例,要實現對主資料管理,主要是從以下幾方面實現:
深入業務,紮根業務:每個業務線關鍵實體既有差異,也有交叉;主要深入瞭解業務,才可以保持主資料一致性、準確性、完整性、可控性。
面向主題域管理:按照業務線、主題域和業務過程三級目錄方式管理主資料。透過分層歸類管理主資料可以提高管理的效率。
03. 指標體系
指標是一個可以量化目標事物多少的數值,有時候也稱為度量,如:DNU、留存率等都是指標。
指標體系就是將各個指標按照特定的框架組織起來,從而統一指標名稱及口徑定義,理清指標間構成關係,避免重複建設。下圖是指標體系示例。
業務過程:業務過程是企業活動中不可拆分的行為事件。
維度/屬性:維度是觀察和分析業務過程的角度,屬性是描述維度的資訊。
原子指標:原子指標是對具體業務過程的度量或對具體維度/屬性的計數,具有明確的業務含義且在邏輯層面不可再拆分。
修飾詞:修飾詞是對原子指標進行修飾限定的詞彙,對應著明確的業務場景和業務規則,用於圈定原子指標業務統計的範圍。
派生指標:派生指標是原子指標與一個或多個修飾詞的組合。
複合指標:原子指標和派生指標經過疊加公式所計算出來的直接結果。
04. 詞根管理
詞根是企業最細粒度業務術語,是維度和指標管理的基礎,透過詞根可以用來統一表名、欄位名、主題域名;建立和維護可收斂的詞根庫,業務域、主題域我們都可以用詞根的方式列舉清楚,不斷完善,粒度也是同樣的,主要的是時間粒度、日、月、年、周等,使用詞根定義好簡稱,數倉開發的欄位命名也可以使用詞根進行組合;劃分為普通詞根與專有詞根
普通詞根:描述事物的最小單元體,如:交易-trade。
專有詞根:具備約定成俗或行業專屬的描述體,如:美元-USD。
詞根示例如下:
05. 資料血緣
資料的處理過程中,從資料來源頭到最終的資料生成,每個環節都可能會導致我們出現資料質量的問題。比如我們資料來源本身資料質量不高,在後續的處理環節中如果沒有進行資料質量的檢測和處理,那麼這個資料資訊最終流轉到我們的目標表,它的資料質量也是不高的。也有可能在某個環節的資料處理中,我們對資料進行了一些不恰當的處理,導致後續環節的資料質量變得糟糕。因此,對於資料的血緣關係,我們要確保每個環節都要注意資料質量的檢測和處理,那麼我們後續資料才會有優良的基因,即有很高的資料質量。
資料血緣關係的作用
資料溯源:資料的血緣關係,體現了資料的來龍去脈,能幫助我們追蹤資料的來源,追蹤資料處理過程。
評估資料價值:資料的價值在資料交易領域非常重要,資料血緣關係,可以從資料受眾、資料更新量級、資料更新頻次幾方面來給資料價值的評估提供依據。
資料質量評估:從資料質量評估角度來看,清晰的資料來源和加工處理方法,可以明確每個節點資料質量的好壞。從資料的血緣關係圖上,可以方便地看到資料清洗的標準清單。
資料歸檔、銷燬的參考:從資料生命週期管理角度來看,資料的血緣關係有助於我們判斷資料的生命週期,是資料的歸檔和銷燬操作的參考。
資料血緣示例圖如下:
最後
在夯實企業資料底座過程,需要從道角度出發,這是決定我們做事情思考高度與寬度;也需要從術上明確落地實施路徑。也就是,道以生術,術為道生。
來自 “ Flink ”, 原文作者:Flink;原文連結:https://mp.weixin.qq.com/s/GfgSsCsHNH9OJdFak0BejQ,如有侵權,請聯絡管理員刪除。
相關文章
- 基本資料型別轉化資料型別
- ∑co時間 | 夯實資料基礎 推動高校數字化轉型
- 《閒扯Redis九》Redis五種資料型別之Set型Redis資料型別
- 《閒扯Redis六》Redis五種資料型別之Hash型Redis資料型別
- 資料型別,型別轉換資料型別
- 3. php資料型別、資料型別轉換PHP資料型別
- 《閒扯Redis五》List資料型別底層之quicklistRedis資料型別UI
- 【轉】ORACLE資料型別Oracle資料型別
- 資料型別轉換資料型別
- 想要玩轉資料視覺化?先弄清我們能用非結構化資料做什麼吧視覺化
- 新零售數智化轉型,需要怎樣的資料底座?
- Java資料型別及型別轉換Java資料型別
- JavaScript 資料型別轉換JavaScript資料型別
- javascript資料型別轉換JavaScript資料型別
- 【Java】資料型別轉換Java資料型別
- JSON 資料型別(轉載)JSON資料型別
- 資料型別及轉換資料型別
- JS中其他資料型別轉為number資料型別的方法JS資料型別
- 攜手長亮資料打造資料底座 GBase 8a MPP助力承德銀行數字化轉型
- TiDB 助力北京電信夯實電信賬務系統的資料底座TiDB
- 金融信創產業加速發展,杉巖資料夯實儲存底座產業
- js資料型別之基本資料型別和引用資料型別JS資料型別
- 資料型別: 資料型別有哪些?資料型別
- 玩轉 JavaScript 之資料型別JavaScript資料型別
- JS資料型別的轉換JS資料型別
- JS中資料型別轉換JS資料型別
- 2、java資料型別轉換Java資料型別
- JavaScript 基本資料型別轉換JavaScript資料型別
- 區別值型別資料和引用型別資料型別
- scala和java資料型別轉換Java資料型別
- JavaScript 隱式資料型別轉換JavaScript資料型別
- JS裡的資料型別轉換JS資料型別
- JS 裡的資料型別轉換JS資料型別
- go語言資料型別轉換Go資料型別
- Python3 資料型別轉換Python資料型別
- Java資料型別自動轉換(++ ,+=)Java資料型別
- python 與 Mysql 資料型別轉換PythonMySQL 資料型別
- JavaScript資料型別轉換總結JavaScript資料型別