Data Warehouse、Data Lake、Data Mesh 的真正差異:不是技術,而是資料由誰擁有與治理

這篇 Threads 引用 ByteByteGo 的 Data Warehouse vs Data Lake vs Data Mesh,重點其實可以濃縮成一句話:資料架構的核心問題不是「資料放哪裡」,而是「誰擁有資料、誰負責治理」。

很多公司在選資料架構時,容易把問題看成技術選型:要不要上 Data Lake?要不要做 Data Mesh?要不要把 Warehouse 換掉?但實務上,真正決定成敗的往往不是 storage,而是 schema、命名、資料品質、文件、權限和 ownership 能不能被長期維護。

Data Warehouse:先整理,再儲存

Data Warehouse 是最傳統也最穩定的做法。資料進來前先清洗、轉換、套進固定 schema,再供 BI、報表和分析查詢使用。

它的優點是:

  • 查詢快
  • 報表一致
  • 指標定義比較穩定
  • 適合財務、營運、管理報表
  • 資料品質通常較可控

代價是彈性較低。新增資料源或新分析需求時,常常要先調整 ETL/ELT pipeline 和 schema,資料必須遷就架構。對需求快速變動的探索型場景,Warehouse 會顯得比較慢。

Data Lake:先全部收進來,要用再處理

Data Lake 則是反過來:先把原始資料全部收進來,不急著套 schema。資料可以是 database dump、log、image、video、CSV、JSON、PDF 或其他非結構化內容,等到需要分析或訓練模型時再處理。

它的優點是:

  • 彈性高
  • 容納多種格式
  • 適合 ML、資料探索、log 分析
  • 不必一開始就知道所有用途

但風險也很明確。如果命名規則、格式、metadata、資料擁有者和生命週期沒有先訂好,Data Lake 很快會變成 Data Swamp:重複、過時、沒文件、沒人敢刪、也沒人知道哪份資料可信。

Data Mesh:把資料 ownership 分散給各業務單位

Data Mesh 的核心不是新資料庫,而是組織設計。它把資料 ownership 從中央資料團隊拆給各 domain team:例如 Sales team 發布 sales data product,Finance team 發布 finance data product,各團隊依共同標準提供可被其他人使用的資料。

理想上,它可以解決中央資料團隊成為瓶頸的問題,讓懂業務的人管理自己的資料。但它的門檻很高:每個業務團隊都必須有能力負責品質、文件、權限、SLA、資料產品維護與跨團隊標準。

這也是 Threads 原文講得最準的地方:多數公司的業務單位根本無力負擔這件事。Data Mesh 聽起來理想,但如果組織沒有 data product mindset、platform team 支援、治理標準和工程能力,最後只是把混亂從中央資料團隊分散到每個部門。

實務上通常是混合架構

ByteByteGo 也提到,多數公司實務上不會只選一種:

  • Warehouse 用來跑穩定 BI、管理報表、財務指標
  • Lake 用來做原始資料保存、ML、資料探索
  • Mesh 只在組織規模夠大、domain team 有能力時逐步導入

所以問題不是「哪個最好」,而是「現在的組織承擔得起哪種治理成本」。

選型判斷表

架構最適合主要風險
Data Warehouse穩定報表、BI、財務營運指標schema 僵硬、變更慢
Data LakeML、資料探索、非結構化資料沒治理會變 Data Swamp
Data Mesh大型組織、多 domain、高資料自治需求業務團隊無力維護 data product

我的判斷

對大多數中小型公司來說,最務實的路線通常不是一開始就追 Data Mesh,而是先把最基本的資料 ownership 做清楚:

  • 每張表或 dataset 的 owner 是誰?
  • 哪些欄位是正式指標?
  • 資料多久更新一次?
  • 誰能改 schema?
  • 文件在哪裡?
  • 哪些資料可以被 BI、ML、Agent 使用?

如果這些問題答不出來,換成 Data Lake 或 Data Mesh 只會把問題放大。

這篇最值得保留的觀念是:資料架構不是越新越好,而是要匹配組織的治理能力。Warehouse、Lake、Mesh 的差異,本質上是資料整理時機與資料責任分配的差異。

來源:

Data Warehouse、Data Lake、Data Mesh 的真正差異:不是技術,而是資料由誰擁有與治理 | Allen 知識庫 | Allen 知識庫