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 Lake | ML、資料探索、非結構化資料 | 沒治理會變 Data Swamp |
| Data Mesh | 大型組織、多 domain、高資料自治需求 | 業務團隊無力維護 data product |
我的判斷
對大多數中小型公司來說,最務實的路線通常不是一開始就追 Data Mesh,而是先把最基本的資料 ownership 做清楚:
- 每張表或 dataset 的 owner 是誰?
- 哪些欄位是正式指標?
- 資料多久更新一次?
- 誰能改 schema?
- 文件在哪裡?
- 哪些資料可以被 BI、ML、Agent 使用?
如果這些問題答不出來,換成 Data Lake 或 Data Mesh 只會把問題放大。
這篇最值得保留的觀念是:資料架構不是越新越好,而是要匹配組織的治理能力。Warehouse、Lake、Mesh 的差異,本質上是資料整理時機與資料責任分配的差異。
來源: