---
title: "綱要演進（Schema Evolution）"
slug: schema-evolution
language: zh-TW
source: https://aiterms.tw/terms/schema-evolution
updated_at: 2026-04-29
tags: [資料處理, AI基礎, MLOps, 模型部署, AI應用]
ipas_term: false
---

# 綱要演進（Schema Evolution）

> **資料欄位改版時，你是不是常擔心舊資料讀不進去、新資料寫不出去？**
>
> 你可以把綱要演進想成資料結構慢慢換版本，但還要讓新舊系統能繼續溝通。
>
> 它重要是因為資料結構一改，整個資料管線、報表和模型都可能被牽動。
>
> 你可以把它想成一個把抽象概念拉回日常判斷的提示，先知道它解決什麼問題，再看技術細節。

### 容易混淆

> **綱要演進 vs 資料遷移**
>
> 綱要演進是結構在原地變更
> 資料遷移是把資料搬到別的結構或系統
> 最關鍵的區別是改結構還是搬資料。
>
> **綱要演進 vs 資料漂移**
>
> 綱要演進是資料格式或欄位定義改變
> 資料漂移是資料分布變了
> 最關鍵的區別是 schema 變還是資料內容變。
>

### 記住這句就好

> 欄位會變，重點是新舊版本還能不能互通。

### 實際案例

> **加欄位**
> 原本的使用者表新增生日欄位，如果處理得好，舊程式仍然能讀原本資料。
>
> **欄位改名**
> 把 `phone` 改成 `mobile_phone` 時，後端和資料管線都要一起跟上版本。
>

### 算法與應用

> 常見原則是保持向後相容或向前相容，避免一次改壞所有系統。
> 實務上常搭配版本控制、灰度發布和資料轉換。
> 綱要演進做不好，報表、模型和 API 都會一起出問題。

### 情境判斷

> **Q1（直覺題）：如果你只是新增一個欄位，但老系統還要能正常讀舊資料，這叫什麼問題？**
>
> → 這是在處理綱要演進的相容性問題。
>
> **Q2（判斷題）：欄位一改名，所有服務都一定要同時停機嗎？**
>
> → 不一定。做得好可以靠版本與相容層降低停機風險。
>

### 常見問題

> **Q：怎麼處理綱要演進的相容性？**
> A：常見做法是版本控制、轉換層和測試一起上。
>
> **Q：什麼是零停機綱要演進？**
> A：就是在改結構的同時，系統仍能繼續提供服務。
>
> **Q：綱要演進最重要的原則是什麼？**
> A：先想清楚新舊版本如何共存，再動手改結構。
>

### 相關術語

> - **資料漂移**：綱要演進和資料漂移常一起比較。
> - **概念漂移**：模型監控和綱要演進很常一起看。
> - **模型監控**：綱要變更後一定要搭配監控。
> - **資料品質監控**：欄位改版時，資料品質檢查很重要。
> - **模型版本控制**：綱要版本和模型版本常一起管理。

---

來源：https://aiterms.tw/terms/schema-evolution
快查頁：https://aiterms.tw/terms/schema-evolution
最後更新：2026/04/29
深度解說：https://aiterms.tw/learning/what-is-schema-evolution