產業脈動 2026 年 5 月 18 日

2026-05-18 — Meta 數萬條資料攝入任務三階段影子遷移、舊系統完全棄用

primary=https://engineering.fb.com/2026/05/12/data-infrastructure/migrating-data-ingestion-systems-at-meta-scale/

Meta 數萬條資料攝入任務的三階段遷移:影子、反向影子到完全棄用

Meta Engineering Blog · 2026-05-12

Meta 的資料攝入系統每日處理數個 PB 的 MySQL 社交圖資料,將其寫入資料倉儲。2026 年 5 月,Meta 工程團隊公開了將舊架構(由業務方自行維護的客戶端 pipeline)遷移至新的自管理資料倉儲服務的完整過程,最終做到數萬個攝入任務 100% 切換、舊系統完全棄用。

原本的問題

舊架構下,每個業務團隊自行負責 CDC(Change Data Capture)pipeline 的維護與調優,導致資料品質監控碎片化,且全量 dump 的排程策略因業務知識分散而難以集中最佳化。基礎設施層無法統一推行安全更新或效能改善,每次需要 100+ 個團隊各自操作。

採用的方法:三階段生命週期

Meta 設計了三個遷移階段以實現安全切換:

  1. Shadow Phase:新任務在 pre-production 環境鏡像生產流量,對真實資料執行完整邏輯但不寫入生產資料表,隔離風險。
  2. Reverse Shadow Phase:新任務寫入生產資料表,舊任務寫入影子資料表,允許在不重新配置系統的情況下快速回滾。
  3. Cleanup Phase:驗證通過後廢棄舊任務,釋放資源。

品質保證與風險控制

遷移中使用 row count 比較與 checksum 驗證確保兩套系統輸出一致。資料品質分析工具整合 Scuba(Meta 的即時分析平台),以查詢結果自動驅動 promotion/demotion 決策,而非依賴人工判斷。Partition-level bad data flagging 防止壞資料在 CDC 工作流中向下游傳播;快照重用策略則降低全量 dump 的計算成本。任務依吞吐量、優先級與風險係數分批遷移,而非全部同時切換。

實際效果

Meta 成功將全部工作負載(數萬個攝入任務)轉移至新系統,舊系統完整棄用。新架構改善了資料落地延遲與資源使用效率,並讓基礎設施層得以統一管理,不再依賴業務方各自維護。此案例為大規模遺留系統遷移提供了一個影子流量驗證的標準化範本。

原始來源:Meta Engineering Blog


End of article
0
Would love your thoughts, please comment.x
()
x