作為資料從業者,我們使用許多不同的術語來談論我們所做的事情——我們稱之為商業智慧、分析、資料管道或洞察。但有一個術語描述了我們真正擅長的事情:交付產品。
當我在 Sametime 領導一個 200 人的工程團隊時,我不禁注意到交付軟體應用程式的團隊與交付資料密集型應用程式的團隊所使用的最佳實踐之間的差距。
在我看來,數據產品正在與品質和
高錯誤成本作鬥爭,而軟體人員卻從敏捷開發方法和 ALM 工具等工程最佳實踐中獲益。
從這個角度來看,很明顯,從事資料產品工作的人可以從採用工程最佳實踐和應用程式生命週期管理 (ALM) 原則中獲益匪淺。要做到這一點,需要改變思考方式和工具。
這是我如何努力實現這一目標的故事。
目錄
為什麼要進行應用程式生命週期管理?
為什麼不像程式碼一樣管理資料呢?
針對開發、部署和生產中的資料的應用程式生命週期管理
發展
部署
生產
LakeFS:用於可擴展資料的類
似 Git 的介面 – 一個開源工具
關於 LakeFS
為什麼要 西班牙 WhatsApp 號碼數據 進行應用程式生命週期管理?
軟體開發生命週期圓圖
圖片來自 synotive.com
應用程式生命週期管理改變了軟
體應用程式的世界,將焦點從交付的困難轉移到產品如何很好地滿足用戶需求。當開發人員使用一組工具組合在一起,以高可觀察性、高品質和極低的錯誤成本完成編碼、測試、部署和維護生產部署的整個過程時,這種轉變就成為可能。
在過去幾年中,數據世界開始更加意識到這種需求。社群中有關 資料密集型應用程式、 資料產品、 資料管道的可觀察性以及「資料停機」或資料網格等術語的對話都從軟體工程最佳實踐的類比中汲取力量。
所有這些概念都得到了新興工
具集的大力支持。以下是一些支持這種理解資料科學家和工程師工作方式的開源專案:
分析師工作流程-它們將軟 在您的平台上突出顯示並展示用戶生成的內容。 體工程最佳實務帶入資料分析師的工作。範例:dbt。
編排工具-這些工具處理運行數百甚至數千個分散式系統並組織它們的複雜流程,幫助管理我們的管道。範例:Airflow、Dagster、Prefect。
可觀察性工具-這是一個不斷成長
的類別,我們可以找到可以驗證資料品質的測試工具。例:Deequ、GriFFin、遠大前程
新興工具資料工程 加拿大數據 最佳實踐
所有這些工具都是我們邁向數據產品 ALM 之旅的墊腳石,但仍然缺少一些基本的東西——什麼來管理數據本身?
舉個例子,對於一些重要問題很難想
出簡單的解決方案。諸如此類的問題:
如何輕鬆建立可以測試新管道的開發環境?
如何輕鬆地與生產並行運行數據管道,以便我可以對其進行分階段並隨著時間的推移看到它帶來的高品質結果?
如何確保只提供消費者高品質的數據?
如果生產中出現品質問題,如何確保可以將資料恢復到最後一致的高品質快照?
當我們遇到數據品質問題時,讓所有這些事情發揮作用變得非常困難。
為什麼不像程式碼一樣管理資料呢?
我意識到這些問題的解決方案(也是 ALM 的關鍵)在很大程度上歸功於程式碼的 git 原始碼控制模型。