fbpx

震驚!資料工程竟然更像供應鏈管理而非軟體工程

data-engineering

在現代企業運營中,資料工程已經成為不可或缺的一環。然而,許多人對於資料工程的理解仍停留在傳統軟體工程的框架內。其實,資料工程與軟體工程之間存在著本質的差異。

比起軟體工程或軟體開發,資料工程更像是一個複雜的供應鏈,從資料的收集、清理、存儲到處理和分發,每個步驟都像供應鏈管理中的環節一樣緊密相連,互相依賴。

軟體工程 vs 資料工程

軟體工程師的主要工作

軟體工程主要關注於設計、開發、測試和維護應用程序和系統。軟體工程師的主要任務是創建高效、穩定且可靠的軟體產品,確保它們能夠滿足用戶需求並在不同環境下運行良好。一般的軟體工程流程包括:

  • 需求分析
  • 撰寫程式碼
  • 設計軟體架構
  • 測試和除錯
  • 維護和更新現有系統

軟體工程師需要精通各種程式語言,如 Java、Python、C++ 等。他們還需要了解軟體開發生命週期和各種開發方法論。

資料工程師的主要工作

與此不同,資料工程則集中於資料的收集、處理和管理。資料工程師需要確保資料在企業內部能夠順利流動並保持高質量。他們需要構建和維護數據管道,確保資料從不同來源收集後經過清理、轉換和存儲,並設計、構建和維護大規模資料處理與儲存系統,讓資料最終能夠被數據科學家和分析師有效利用。

資料工程師的主要工作包括:

  • 設計資料管線
  • 建立資料倉儲
  • 優化資料庫性能
  • 確保資料質量和安全性

在技能上,資料工程師需要精通 SQL、Python 等語言,以及各種大數據技術如 Hadoop、Spark 等。他們還需要深入了解資料建模和資料架構設計。

兩者的主要差異

  1. 主要任務:軟體工程專注於應用程式開發,資料工程專注於資料處理和管理。
  2. 技能需求:軟體工程需要更多程式設計技能,資料工程需要更多資料管理技能、資料庫、ETL 工具等。
  3. 產出結果:軟體工程產出可執行的應用程式,資料工程產出可用於分析或後續處理的資料產品。

資料工程 vs 供應鏈管理

供應鏈管理(Supply Chain Management)在做什麼?

供應鏈管理的核心在於高效、準確地將產品從供應商交付到消費者手中,資料工程的目標則是確保數據能夠在正確的時間、以正確的格式到達需要它的地方。這兩者之間的類比並非巧合,而是源於其相似的運作原則和管理方法。

供應鏈管理涉及產品從供應商到消費者手中的整個過程,包含了計劃、採購、製造、物流和倉儲管理等環節。資料工程與供應鏈管理有很多相似之處,特別是在流程和目標方面。讓我們以果菜批發為例來看看供應鏈管理平常在做什麼:

計劃與需求預測

水果供應鏈管理中,首先要進行市場需求的預測,確定不同季節和地區的水果需求量。這涉及分析歷史銷售數據、考慮季節性因素和市場趨勢。

採購與供應商管理

管理與水果供應商的關係,選擇可靠的農場或經銷商,進行採購談判,確保水果質量和供應穩定。這還包括供應商績效評估和風險管理。

處理與倉儲管理

水果需要進行分揀、清洗、包裝和儲存等處理過程,確保質量和新鮮度。這就像製造過程中的質量控制,並確保水果在最佳條件下儲存。

物流與配送

確保水果從農場或倉庫按時運輸到超市或消費者手中,這涉及物流管理、冷鏈運輸和配送策略。

品質與時程控管

品質管理確保產品符合質量標準,時程管理則確保產品按時交付。這包括監控產品狀態、及時調整生產和物流計劃,以及處理可能出現的問題。

資料工程(Data Engineering)在做什麼?

我們這邊以購物網站以及推薦系統為例。使用者在上面的瀏覽數據就是原始資料(水果),推薦系統就是最終的資料產品(交付給使用者的產品)。

計劃與需求預測

對於購物網站,資料工程需要確定哪些用戶行為數據、銷售數據和瀏覽數據是必要的,並確定從哪些數據源獲取這些資料。這包括使用數據分析工具來預測用戶需求和購買趨勢。

資料採集與供應商管理

從網站的各個資料源(如用戶點擊行為、購物車資料、交易記錄等)收集資料。確保資料質量和完整性,並管理資料來源的可靠性和安全性。

處理與倉儲管理

對收集到的數據進行清理、轉換和整合,確保資料的質量和一致性。這包括去重、填補缺失值和數據格式轉換,並將資料有效地儲存在資料庫和資料倉儲中。

儲存時也要留意如何規劃儲存空間來確保最大的空間使用率。並且規劃良好的檢索方式,讓後續處理人員能夠快速的找到需要的資料。

物流與配送

將處理後的資料存儲在數據庫中,並根據需求分發給需要的系統或部門。資料工程師透過資料管線以及排成等相關技術,確保資料能夠按時到達數據科學家、業務分析師或推薦系統,支援各種商務應用和資料產品。

品質與時程管理

資料工程師需要時時監控和維護資料品質、資料管道、資料庫等元件來確保資料品質穩定。並且及時處理數據處理過程中的問題,讓資料能在所需的時間內被妥善處理、並交付給內部或外部客戶。

如果你想知道 2024 年有哪些推薦的大數據工具可以看看:2024年最值得投資的五個大數據分析與處理工具

這樣類比的好處?

通過上述對比,我們可以看出,資料工程與供應鏈管理在很多方面都有相似之處。理解這些相似性可以幫助我們更好地管理和優化資料流,提升企業決策的準確性和效率。

一般來說,評估供應鏈管理的方式包括以下幾個關鍵指標:交付準時率、庫存周轉率、供應商績效和成本控制。這些指標同樣適用於評估資料工程師的表現。

  1. 交付準時率
    • 供應鏈管理:評估產品是否按時交付給客戶。
    • 資料工程:確保資料在需要的時間內處理並提供給需要的系統或用戶。例如,評估資料管線的延遲和準時性。
  2. 庫存周轉率
    • 供應鏈管理:衡量庫存的周轉速度,確保庫存不過多積壓。
    • 資料工程:評估數據處理和更新的頻率,確保資料是最新且準確的。例如,衡量資料更新頻率和更新效率。
  3. 供應商績效
    • 供應鏈管理:評估供應商的可靠性和產品品質。
    • 資料工程:評估數據來源的可靠性和資料品質。例如,分析資料來源的穩定性和資料的完整性。
  4. 成本控制
    • 供應鏈管理:控制運營成本,確保經濟高效運營。
    • 資料工程:控制資料存儲和處理成本,確保資源使用效率。例如,評估雲端服務費用和計算資源的使用率。

透過這樣的對比,可以發現資料工程面對的挑戰和軟體工程師有非常大的差異。資料工程不僅僅是技術上的挑戰,更是流程和管理上的挑戰。通過應用供應鏈管理的理念,來確保企業能夠正確地理解、使用以及評估資料工程的建置與發展。

參考資料

  1. Towards Data Science – The Difference Between Data Engineering and Software Engineering
  2. KDnuggets – Data Engineering Resources
  3. Supply Chain Dive – Supply Chain Management Articles
  4. Gartner – IT and Supply Chain Management Reports
  5. Harvard Business Review – Supply Chain Management Strategies

最新活動

在〈震驚!資料工程竟然更像供應鏈管理而非軟體工程〉中有 1 則留言

  1. […] 再來是並根據資料供應鏈(可以參考:震驚!資料工程竟然更像供應鏈管理而非軟體工程)的階段來做元件的挑選和規劃流程。例如:(這邊就可以舉一個實際規劃的例子) […]

發佈回覆給「軟體工程師如何準備面試?不藏私帶你解析職缺做考前猜題! – 顧職」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

內容索引