原文連接:08 | 交付速度和質量問題解決了,老板說還得“省” (geekbang.org)
好的數據中臺:快、準、省
數據部門是企業的成本中心,如果要展現自己的價值,一方面是支撐好業務,獲得業務的認可;另外一方面就是精簡成本,為公司省錢。
有哪些成本的陷阱
常見問題:
- 數據上線容易下線難
- 近30日無訪問表數量及占比
- 低價值的數據應用消耗了大量的資源
- 一張表的投入和產出是否匹配
- 煙囪式的開發模式
- 數據重復加工
技術性問題:
- 數據傾斜:
- 木桶效應:總任務消耗資源 = max{單個任務消耗的資源} * 任務數量
- 數據未設置生命周期
- 一般原始數據和明細數據,保留完整的歷史數據
- 匯總層、應用層,保留幾天的快照或者分區
- 調度周期不合理
- 任務有明顯的高峰低谷效應,但是服務器資源不是彈性的,整個集群的資源配置取決于高峰期的任務消耗。
- 所以,把一些不必要在高峰期運行的任務遷移到低谷期運行,也可以節省資源的消耗。
- 任務參數配置
- 數據未壓縮
- Hadoop的HDFS為了實現高可用,默認數據存儲3副本,所以大數據的物理存儲量消耗是比較大的。
- 另外,在Hive或Spark的計算過程中,中間結果也需要壓縮,可以降低網絡傳輸量,提高Shuffer性能。
如何實現精細化成本管理
成本治理步驟:
-
全局盤點:建立全鏈路數據資產視圖
[站外圖片上傳中...(image-c0de8d-1620538319695)]
核算數據成本:
- 例如:末端報表的成本 = n個任務加工消耗的計算成本 + m個表消耗的存儲資源成本
- 如果一個表被多個下游應用復用,那這個表的存儲資源成本以及產出任務消耗的成本,需要分攤給多個應用。
核算數據價值:
-
末端數據價值
img
- 在計算使用范圍時,通常用周活來評估,同時還要考慮不同管理級別的人權重,對于老板,他一個人的權重可以相當于 1000 個普通員工。
-
發現問題:關注三類問題
持續產生成本,但是已經沒有使用的末端數據(“沒有使用”一般指 30 天內沒有訪問)
數據應用價值很低,成本卻很高,這些數據應用上游鏈路上的所有相關數據
高峰期高消耗的數據。
-
治理優化
- 對第一類問題:指定下線計劃,對表進行下線
- 對第二類問題:按照應用粒度評估應用是否還有存在的必要
- 對第三類問題:具體分為產出數據的任務高消耗和數據存儲高消耗
- 任務高消耗:定位問題原因,例如數據傾斜
- 數據存儲高消耗:考慮數據壓縮方式和數據生命周期設置是否合理
效果評估:省了多少錢
- 下線了多少任務和數據
- 這些任務每日消耗了多少資源(只統計高峰時間內)
- 數據占用了多少存儲空間
成本治理中心
數據成本治理的產品化