跳至主要内容

OLTP 與 OLAP 的差別

用最清楚、最容易理解的方式幫你解釋 OLTP 與 OLAP 的差別。


🧠 一句話總結

OLTP 是用來「處理交易」的系統(買東西、更新資料) OLAP 是用來「做分析」的系統(BI 報表、數據倉儲)


📦 什麼是 OLTP? (Online Transaction Processing)

👉 交易處理系統

常見用途

  • 訂單建立
  • 下單付款
  • 銷售系統 POS
  • App 的使用者登入、修改資料
  • ATM 轉帳
  • 電商購物車
  • ERP 資料輸入

特點

特點說明
大量小交易(每次操作影響的資料很少(如一筆訂單、一筆登入)
頻繁寫入(Write-heavy)不斷 insert/update/delete
要求一致性(ACID)絕不能寫錯錢、丟單、重複扣款
資料高度正規化(Normalized)減少重複資料,加速寫入
主要技術SQL Server、MySQL、PostgreSQL、Azure SQL

例子

用戶下訂單 → 前端寫入後端資料庫 → 典型 OLTP


📊 什麼是 OLAP? (Online Analytical Processing)

👉 分析處理系統(商業智慧)

常見用途

  • Power BI / Fabric / Data Warehouse
  • 月報、季報、年報
  • 銷售趨勢分析
  • 客戶分群
  • 預測模型
  • KPI Dashboard

特點

特點說明
大量讀取(Read-heavy)執行大型 SELECT 查詢
大表 join / 匯總 / 聚合SUM、COUNT、GROUP BY
數據量超大(數百萬~數十億 rows)適合大數據
資料反正規化(Star Schema)加快查詢速度
主要技術Fabric Warehouse、Synapse、Snowflake、Databricks

例子

Power BI 查 2021~2025 五年全球銷售 → 典型 OLAP


🔥 核心差異比較(一次看懂)

比較項目OLTPOLAP
用途處理交易做分析
查詢模式單筆、快速、精準大批量、聚合、探索性分析
資料量中等極大(百萬~十億)
資料更新高頻寫入低頻批次寫入或 ETL
表格設計Normalized(正規化)Star Schema(星型)
重要性即時正確,不能錯分析速度、洞察力
例子銷售系統、ERP、銀行Power BI、Data Warehouse、Data Lake

🪄 用情境說最容易懂

情境 1: 你在 7-11 買咖啡

→ 系統需要:

  • 新增一筆訂單(insert)
  • 更新庫存(update)

這是 OLTP

情境 2: 店長要查看今天賣了多少咖啡

→ 系統要:

  • 查整天所有訂單
  • 合計銷售金額
  • 做成儀表板

這是 OLAP


情境 3: 你在 Shopee 下單

→ 系統需要:

  • 寫入訂單資料
  • 扣庫存
  • 記錄付款

這是 OLTP

情境 4: Shopee 高層要看本季各品類銷售趨勢

→ 系統需要:

  • 查詢數百萬筆訂單
  • 按品類、時間聚合
  • 產生趨勢圖表

這是 OLAP


🎯 面試/考試可以這樣講

OLTP = 交易處理,強調快速寫入、資料一致性、正規化設計 OLAP = 分析處理,強調大量查詢、聚合運算、反正規化設計

兩者目的不同、設計哲學不同、技術選型也不同。


📊 技術架構對照

OLTP 架構重點

  • Row-based storage(行存儲)
  • B-Tree indexes
  • ACID transactions
  • Write optimization
  • Normalized schema (3NF)

OLAP 架構重點

  • Columnar storage(列存儲)
  • Bitmap indexes
  • Read optimization
  • Star/Snowflake schema
  • Batch ETL/ELT

🔄 兩者的關係

在現代數據架構中:

OLTP (業務系統)

ETL/ELT

OLAP (分析系統)

BI Tools

Business Insights
  1. OLTP 產生交易數據
  2. 透過 ETL/ELT 轉換
  3. 載入 OLAP 系統
  4. BI 工具分析
  5. 產生商業洞察

💡 記憶口訣

OLTP = Transaction = 入為主 = 做生意 OLAP = Analysis = 取為主 = 做分析