《大數據之路1》筆記3:數據管理

一 元數據

1.1 元數據概述

定義: 元數據是關于數據的數據,元數據打通了源數據、數據倉庫、數據應用,記錄了數據從生產到消費的全部過程。元數據主要記錄數據倉庫中模型的定義、各層級間的映射關系、監控數據倉庫的數據狀態和ETL的任務運行狀態。

分為:技術元數據、業務元數據

  • 技術元數據: 存儲關于數據倉庫系統技術細節的數據,是用于開發和管理數據倉庫使用的數據。比如:分布式計算系統存儲元數據;分布式計算系統運行元數據;數據開發平臺中數據同步、計算任務、任務調度等信息;數據質量和運維相關元數據

  • 業務元數據: 從業務角度描述了數據倉庫中的數據,提供了介于使用者和實際系統之間的語義層,使得不懂計算機技術的業務人員能夠讀懂數據據倉庫中的數據

價值: 數據管理、數據內容、數據應用的基礎。在數據管理方面為集團數據提供在計算、存儲、成本、質量、安全、模型等治理領域上的數據支持

1.2 統一元數據體系建設

  1. 首先梳理清楚元倉底層數據,對元數據做分類,如計算元數據、存儲元數據、質量元數據等,減少數據重復建設,保障數據的唯一性
  2. 要豐富表和字段使用說明,方便使用和理解。根據元倉底層數據構建元倉中間層,依據 OneData 規范,建設元數據基礎寬表,也就是元數據中間層,打通從數據產生到消費整個鏈路 ,不斷豐富中間層數據
  3. 基于元數據中間層,對外提供標準統一的元數據服務出口,保障元數據產出的質量。
    image.png

1.3 元數據應用

數據的真正價值在于數據驅動決策,通過數據指導運營

對于元數據,可以用于指導數據相關人員進行日常工作,實現數據化“運營”。 對ETL 工程師,可以通過元數據指導其進行模型設計、任務優化和任務下線等各種日常 ETL 工作; 對于運維工程師,可以通過元數據指導其進行整個集群的存儲、計算和系統優化等運維工作。

Data Profileimage.png

  • 元數據門戶: 數據地圖圍繞數據搜索,服務于數據分析、數據開發、數據挖掘、算法工程師、數據運營等數據表的使用者和擁有者,提供方便快捷的數據搜索服務,擁有功能強大的血緣信息及影響分析,利用表使用說明、評價反饋 、表收藏及精品表機制,為用戶浮現高質量、高保障的目標數據

  • 應用鏈路分析: 通過元數據血緣來分析產品及應用的鏈路,通過血緣鏈路可以清楚地統計到某個產品所用到的數據在計算、存儲、質量上存在哪些問題,通過治理優化保障產品數據的穩定。 通過應用鏈路分析,產出表級血緣、字段血緣、表的應用血緣

  • 數據建模: 有別于傳統的經驗建模方式,通過下游所使用的元數據指導數據參考建模。可以在一定程度上解決此問題,提高數據倉庫建模的數據化指導,提升建模效率
    所使用的元數據: 表的基礎元數據;表的關聯關系元數據;表的字段的基礎元數據,舉例:image.png

  • 驅動ETL開發image.png

二 計算管理

如何降低計算資源的消耗,提高任務執行的性能,提升任務產出 的時間,是計算平臺和 ETL 開發工程師孜孜追求的目標。本章分別從系統優化和任務優化 面介紹計算優化。

[[SQL性能優化]]

2.1 系統優化

HB(Oistory-Based Optimizer,基于歷史的優化器): HBO 是根據任務歷史執行情況為任務分配更合理的資源,包括內存、 CPU 以及 Instance 個數。
HBO 是對集群資源分配的 種優化,概括起來就是:任務執行歷史+集群狀態信息+優化規則→更優的執行配置。 HBO的提出 通過數據分析,發現在系統中存在大量的周期性調度的腳本(物理計劃穩定),且這些腳本的輸入 般比較穩定,如果能對這部分腳本進行優化,那么對整個集群的計算資源的使用率將會得到顯著提升。由此,我們想到了 HBO ,根據任務的執行歷史為其分配更合理的計算資源。HBO 般通過自造應調整系統參數來達到控制計算資源的目的。

CBO: 優化器( Optimizer )引人了 Volcano 模型(請參考論文 The Volcano Optimizer Gener tor: Extensibility and fficient Search ,該模型是基于代價的優化器( CBO ),并且引人了重新排序 Join (Join Reorder )和MapJoin (Auto MapJoin )優化規則等,同時基于 Volcano 模型的優化器會盡最大的搜索寬度來獲取最優計劃。

2.2 任務優化

[[數據傾斜]]
主要介紹數據傾斜方面

  • Map傾斜
    image.png背景: 在Map 端讀數據時,由于讀入數據的文件大小分布不均勻,因此會導致有些 Map Instance 讀取并且處理的數據特別多,而有些 Map Instance 處理的數據特別少,造成 Map 端長尾: - 上游表文件的大小特別不均勻,并且小文件特別多,導致當前表Map 端讀取的數據分布不均勻,引起長尾。 - Map 端做聚合時,由于某些 Map Instance 讀取文件的某個值特別多而引起長尾,主要是指 Count Distinct 操作

    方案:

    • 第一種情況導致的 Map 端長尾,可通過對上游合并小文件,同時調節本節點的小文件的參數來進行優化,即通過設置“ set odps.sql.mapper.merge.limit.size 64 ”和“ set odps .sql.mapper.s plit.size=256“兩個參數來調節,其中第一個參數用于調節 Map 任務的 Map Instance個數;第二個參數用于調節單個 Map Instance 讀取的小文件個數,防止由于小文件過多導致 Map Instance 讀取的數據量很不均勻;兩個參數配合調整。
    • 通過“distribute by rand ()”會將 Map 端分發后的數據重新按照隨機值再進行一次分發。原先不加隨機分發函數時,Map 階段需要與使用MapJoin 的小表進行笛卡兒積操作, Map 端完成了大小表的分發和笛卡兒積操作。使用隨機分布函數后,Map 端只負責數據的分發,不再有復雜的聚合或者笛卡兒積操作,因此不會導致 Map 端長尾。
  • Join傾斜

    • Join的某路輸入比較小,可以采用MapJoin,避免分發引起長尾。
    • Join 的每路輸入都較大,且長尾是空值導致的,可以將空值處理成隨機值,避免聚集。
    • Join 的每路輸入都較大,且長尾是熱點值導致的,可以對熱點值和非熱點值分別進行處理,再合并數據

    解決方案: - mapjoin方案:MapJoin 的原理是將Join操作提前到Map 端執行,將小表讀入內存,順序掃描大表完成Join。這樣可以避免因為分發key不均勻導致數據傾斜。但是 MapJoin的使用有限制,必須是Join中的從表比較小才可用。所謂從表,即左外連接中的右表,或者右外連接中的左表 。。。

  • Reduce傾斜

三 存儲和成本管理

3.1 數據壓縮

[[數據壓縮]]
在分布式文件系統中,為了提高數據的可用性與性能,通常會將數據存儲3份,這就意味著存儲ITB的邏輯數據,實際上會占用3TB的物理空間。目前 MaxCompute中提供了 archive 壓縮方法,它采用了具有更高壓縮比的壓縮算法,可以將數據保存為RAID file 的形式,數據不再簡單地保存為3份,而是使用盤古RAIDfile的默認值(6,3)格式的文件,即 6份數據+3 份校驗塊的方式,這樣能夠有效地將存儲比約為1:3提高到1:1.5,大約能夠省下一半的物理空間。

3.2 數據重分布

在MaxCompute中主要采用基于列存儲的方式,由于每個表的數據分布不同,插入的數據的順序不一樣,會導致壓縮效果有很大差異,因此通過修改表的數據重分布,避免列熱點,將會節省一定的存儲空間,主要通過修改distrubute by 和sort by字段的方法實現數據重分布

image.png

3.3 存儲治理項優化

阿里巴巴數據倉庫在資源管理的過程中,經過不斷地實踐,慢慢摸索出一套適合大數據的存儲優化方法,在元數據的基礎上,診斷、加工成多個存儲治理優化項。目前已有的存儲治理優化項有未管理表、空表、最近62 天未訪問表、數據無更新無任務表、數據無更新有任務表、開發庫數據大于lOOGB 且無訪問表、長周期表等。通過對該優化項的數據診斷, 形成治理項,治理項通過流程的方式進行運轉、管理,最終推動各個E TL 開發人員進行操作,優化存儲管理,并及時回收優化的存儲效果。在這個體系下,形成現狀分析、問題診斷、管理優化、效果反饋的存儲治理項優化的閉環。通過這個閉環,可以有效地推進數據存儲的優化,降低存儲管理的成本
image.png

3.4 生命周期管理

生命周期管理策略:

  1. 周期性刪除策略
  2. 徹底刪除策略
  3. 永久保留策略
  4. 極限存儲策略
  5. 冷存儲管理策略
  6. 增量表merge全量表策略

通用的生命周期管理矩陣:

  1. 歷史數據等級劃分,P1\P2\P3\P4
  2. 表類型劃分image.png

3.5 數據成本計算

分為:存儲成本、計算成本、掃描成本。 通過在數據成本計量中引入掃描成本的概念,可以避免僅僅將表自身硬件資源的消耗作為數據表的成本,以及對數據表成本進行分析時,孤立地分析單獨的一個數據表,能夠很好地體現出數據在加工鏈路中的上下游依賴關系,使得成本的評估盡量準確、公平、合理。

3.6 數據使用計費

四 數據質量

4.1 數據質量保障原則

image.png

4.2 數據質量方法概述

  • 消費場景知曉image.png
  • 數據加工過程卡點校驗
  • 風險點監控
  • 質量平衡

[[《大數據之路1》筆記1:總述和數據技術篇]]
[[《大數據之路1》筆記2:數據模型]]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/922445.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/922445.shtml
英文地址,請注明出處:http://en.pswp.cn/news/922445.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

排序實現java

排序算法概述Java中實現排序可以通過多種方式,包括內置方法、自定義算法或使用第三方庫。常見的排序算法有冒泡排序、選擇排序、插入排序、快速排序、歸并排序等。使用Arrays.sort()方法對于數組排序,Java提供了Arrays.sort()方法,支持對基本…

51c大模型~合集182

我自己的原文哦~ https://blog.51cto.com/whaosoft/14174587 #LaV-CoT 超越GPT-4o,螞蟻集團與南洋理工大學提出:首個語言感知的視覺思維鏈 隨著大型視覺語言模型(VLM)的飛速發展,它們在處理復雜的視…

C++ STL之deque的使用和模擬實現

目錄 deque 核心本質與定位 與stack和queue的關系: deque的使用 deque的底層實現 deque的原理介紹 deque的缺陷 總結: deque deque文檔 : deque 翻譯: 雙端隊列 deque(通常發音類似“deck”)是“double-ended queue”(雙端隊列&…

布草洗滌廠設備租賃押金原路退回系統—東方仙盟

設備租賃狀態設備管理添加設備設備收押金設備退押金在布草洗滌行業的運營版圖中,設備租賃是連接廠商與客戶的重要紐帶,而押金的收取與退還則是這一環節中關乎信任與效率的關鍵節點。未來之窗布草洗滌廠深諳此道,專為設備租賃業務打造的 “押金…

換源rocklinux和centos

一、Rockylinux換源,國外的源換成國內的源#nmcli connection modify ens33 ipv4.addresses 192.168.121.11 ipv4.gateway 192.168.121.2 ipv4.method manual ipv4.dns 114.114.114.114 connection.autoconnect yes修改地址#systemctl stop firewalld#systemctl diab…

第一部分:服務器硬件配置

目錄1.1 服務器上架與連線1.2 啟用CPU虛擬化功能(BIOS設置)1.3 配置RAID存儲步驟1:進入RAID配置界面步驟2:確認RAID控制器信息步驟3:創建系統RAID(用于安裝ESXi)步驟4:創建數據RAID&…

手搓一個 DELL EMC Unity存儲系統健康檢查清單

寫在前面對于DELL EMC存儲系統Unity的一些深度的健康檢查通過Web的Unisphere圖形化界面是做不到的,圖形化界面只能看到是否有告警,物理的東西是否有問題的,邏輯的Pool和LUN等是否ready,再深入的潛在的問題是查不到的。另外&#x…

【數據結構】二叉樹的概念

01 概念定義:二叉樹既然叫二叉樹,顧名思義即度最大為2的樹稱為二叉樹。 它的度可以為 1 也可以為 0,但是度最大為 2 。 一顆二叉樹是節點的一個有限集合,該集合:① 由一個根節點加上兩棵被稱為左子樹和右子樹的二叉樹組…

【RK3576】【Android14】如何在Android14下單獨編譯kernel-6.1?

單獨編譯kernel依賴如下幾個源碼:【交叉編譯工具鏈】prebuilts/clang/host/linux-x86/clang-r487747c【內核源碼】kernel-6.1為什么Android下編譯內核使用clang作為交叉編譯工具鏈而不是GCC?Android 14 選擇使用預置的 Clang 工具鏈(如 clang…

什么是Redis的Pipeline

介紹Redis的Pipeline是一種網絡優化技術,在沒有Pipeline的時候,客戶端往redis發送請求,客戶端需要等到redis響應之后才能發送下一個請求。而Pipeline,使redis可以一次性接收多個請求。減少了通信次數,顯著的提高了性能…

【ElementUI el-table跨頁勾選】

一、el-table需加上refs和 row-key屬性 二、type"selection"勾選框 需加上 reserve-selection儲備選擇屬性 三、在分頁請求數據時&#xff0c;觸發 setSelected()方法 四、在 selection-change變化時保存 selectedRows <el-table ref"tables" :data&quo…

論文閱讀/博弈論/拍賣:《Truthful Auction for Cooperative Communications》

摘要&#xff1a;一方面&#xff0c;協作通信由于其在提升無線網絡容量方面的巨大潛力而日益受到關注。另一方面&#xff0c;協作通信技術的實際應用卻很少見&#xff0c;即使在一些對帶寬需求極高的應用場景中&#xff0c;系統設計者也并未采用協作通信技術來開發創新的網絡解…

系統軟中間件:連接軟件與硬件的橋梁

理解“系統軟中間件”這個術語很重要&#xff0c;它實際上是兩個緊密相關但又不同的概念的組合&#xff1a; 系統軟件中間件 嚴格來說&#xff0c;“系統軟中間件”不是一個標準的獨立術語。它通常指的是屬于系統軟件范疇的中間件&#xff0c;或者理解為作為系統軟件重要組成部…

音視頻學習(六十四):avc1 hvc1和hev1

基礎概念縮寫編碼標準FourCC說明AVC/H.264Advanced Video Codingavc1最常用的 H.264 編碼標識符&#xff0c;兼容 MP4/MOV/FMP4 等容器。HEVC/H.265High Efficiency Video Codinghvc1HEVC 視頻流在 MP4/FMP4 中常用標識符&#xff0c;要求存儲 NALU 的 VPS/SPS/PPS&#xff08;…

【WIT】編程百問一

01 什么時postman&#xff1f; Postman 是一款專門用于幫助開發人員處理 API 的工具&#xff0c;它的作用主要有以下幾個方面&#xff1a; 方便調試 API&#xff1a;就像你打電話給別人要先撥對號碼一樣&#xff0c;開發人員要讓不同的軟件系統之間通過 API 進行通信&#xff…

RAG 從入門到放棄?丐版 demo 實戰筆記(go+python)

背景 我當前有一個業務系統&#xff0c;希望能添加一個機器人助手。直接使用大模型&#xff0c;由于缺少相關的業務數據&#xff0c;效果并不理想&#xff0c;了解一下 RAG。 什么是 RAG RAG(Retrieval Augmented Generation)&#xff0c;搜索引擎 大模型。 簡單來說就是從…

《IDEA 突然“三無”?三秒找回消失的綠色啟動鍵、主菜單和項目樹!》

目錄 一、左上角綠色啟動鍵憑空消失 1.1 解決辦法 二、頂部 File / Edit / View... 整條主菜單欄 罷工 2.1 解決辦法 三、左側 Project 工具窗口 集體失聯&#xff0c;只剩 External Libraries 孤零零 3.1 解決辦法 昨天下午擼代碼&#xff0c;不知道按到了哪兒&#xff…

軟件工程實踐二:Spring Boot 知識回顧

文章目錄一、創建項目&#xff08;Spring Boot 向導&#xff09;二、項目最小代碼示例三、運行與驗證四、標準目錄結構與說明五、Maven 依賴最小示例&#xff08;僅供參考&#xff09;六、常用配置&#xff08;application.yml 示例&#xff09;七、返回 JSON 與統一異常八、Va…

【系列文章】Linux中的并發與競爭[04]-信號量

【系列文章】Linux中的并發與競爭[04]-信號量 該文章為系列文章&#xff1a;Linux中的并發與競爭中的第4篇 該系列的導航頁連接&#xff1a; 【系列文章】Linux中的并發與競爭-導航頁 文章目錄【系列文章】Linux中的并發與競爭[04]-信號量一、信號量二、實驗程序的編寫2.1驅動…

Elasticsearch啟動失敗?5步修復權限問題

文章目錄&#x1f6a8; 為什么會出現這個問題&#xff1f;? 解決方案&#xff1a;修復數據目錄權限并確保配置生效步驟 1&#xff1a;確認數據目錄存在且權限正確步驟 2&#xff1a;確認 elasticsearch.yml 中的配置步驟 3&#xff1a;**刪除或清空 /usr/share/elasticsearch/…