資料倉儲(Data Warehouse)
資料倉儲(Data Warehouse)是用來支援報表與分析的集中式資料庫。
資料通常以固定排程從 OLTP 系統、關聯式資料庫(RDBMS),或來自資料湖(Data Lake)等其他來源載入。
示意圖
各式各樣的資料從 OLTP、RDBMS 與 Data Lake 等來源流入(通常會經過 ETL 處理成結構化的資料),把資料統一收整到 Data Warehouse。
隨後,商業分析師、資料工程師、資料科學家與決策者可透過 BI 工具、SQL Client 或其他分析應用來存取這些資料。由於核心用途是分析,因此資料倉儲大多採用 OLAP 技術以提升讀取效能。
Data Warehouse 優勢
- 將多來源的資料匯整成唯一一個「Source of Truth」
- 為讀取最佳化,產生報表速度遠勝 transaction 系統
- 適合長期儲存並分析歷史資料
Data Warehouse 劣勢
- 建置與維運需大量時間與資金投入
- 天生不適合 streaming(但還是可達到近 realtime 的效果)
何時該用?
當需要對大型資料集進行複雜分析,或想將歷史資料與即時的 transaction 分離以維持效能。
OLTP & OLAP 介紹
🟦 OLTP(Online Transaction Processing)
線上交易處理系統
OLTP 系統是為了快速處理大量、即時、短小的交易操作(如 CREATE、UPDATE、DELETE 資料)而設計的。
✅ 特徵:
- 操作頻繁,查詢量大但資料小
- 多為 INSERT / UPDATE / DELETE
- 強調資料一致性(ACID)
- 適合日常業務操作
🏦 常見用途:
- 電商下單
- ATM 提款系統
- POS 銷售系統
- CRM 顧客關係管理
🛠 常用資料庫:
- MySQL、PostgreSQL、Oracle、SQL Server 等
🟨 OLAP(Online Analytical Processing)
線上分析處理系統
OLAP 系統是為了快速處理大量、多維度分析查詢的資料而設計,常用於報表或決策分析。
✅ 特徵:
- 查詢複雜,資料量大但少改動
- 以 SELECT、GROUP BY、JOIN 為主
- 支援多維分析(如地區、時間、產品)
- 強調讀取效能與彈性查詢
📊 常見用途:
- 銷售報表分析
- User behavior 分析
- 財務趨勢分析
- Machine Learning Model 資料準備
🛠 常用系統:
- Snowflake、Amazon Redshift、Google BigQuery、ClickHouse、Apache Hive、Apache Druid 等
📊 OLTP vs OLAP 對比表
特徵 | OLTP | OLAP |
---|---|---|
用途 | 即時交易處理 | 決策分析、商業智慧(BI) |
操作類型 | INSERT / UPDATE為主 | READ (QUERY) 為主 |
資料量 | 小量,但筆數多 | 大量,但筆數少 |
查詢複雜度 | 單筆查詢、短操作 | 複雜聚合、多維度、多表查詢 |
效能目標 | 低延遲、高可用性 | 高吞吐量、大規模資料掃描 |
資料結構 | 正規化(Noramalization, 例如到 3NF) | 去正規化(星型模型、雪花模型) |
🎯 實際例子:
操作內容 | 類型 |
---|---|
使用者下單、付款、開立發票 | OLTP |
查詢 2025 各地區月營收趨勢 | OLAP |
更新顧客聯絡方式 | OLTP |
比較不同產品線近 3 年銷售表現 | OLAP |
🧪 延伸:HTAP(Hybrid Transaction/Analytical Processing)
HTAP 是同時支援 OLTP 和 OLAP 的新型資料處理架構。代表產品包括:
- TiDB
- SingleStore
- Azure Cosmos DB
適合需要同時做到即時交易與分析的場景。
在三大雲端服務的工具名詞對照表
那在 AWS、GCP 跟 Azure 這三大雲端服務中,又該如何運用資料倉儲的概念呢?
AWS(Amazon Web Services)
類別 | 主要服務 | 典型角色 | 亮點特色 |
---|---|---|---|
核心 Data Warehouse | Amazon Redshift(Provisioned/Serverless) | 雲端 Data Warehouse | RA3 節點做到儲存/運算分離,Serverless 秒級自動擴充;Zero-ETL 直連 S3/Kinesis |
Batch 的 ETL / CDC | AWS Glue、AWS Database Migration Service、DataBrew | Ingest & ETL | Glue 無伺服器 Spark ETL;DMS 支援多 DB 持續同步;DataBrew 低程式碼清洗 |
IIngest (Streaming) | Kinesis Data Streams/Firehose | Realtime 的 data pipeline | 毫秒級延遲、支援近 realtime 的分析 |
Data Lake & Storage | Amazon S3 + Lake Formation | 外部表、冷熱資料分層 | Redshift Spectrum 直接查詢 Data Lake 的資料;Lake Formation 提供細粒度權限 |
工作流 | Step Functions、Glue Workflows | Orchestration | JSON State Machine+IAM 整合 |
BI & Visualization | Amazon QuickSight | Dashboard | SPICE in-memory、高速 ML Insights |
GCP(Google Cloud Platform)
類別 | 主要服務 | 典型角色 | 亮點特色 |
---|---|---|---|
核心 Data Warehouse | BigQuery(Standard/Enterprise/Enterprise Plus) | 雲端 Data Warehouse | 完全 Serverless;BigQuery Omni 跨雲查詢、BigLake Lakehouse 整合 |
Batch/Streaming 的 ETL | Dataflow(Beam)、Datastream、Pub/Sub | Data pipeline | 同時支援 batch+streaming;Datastream 提供 CDC |
資料移轉 | BigQuery Data Transfer Service | SaaS→BQ | 預設排程、免寫程式 |
Data Lake & Storage | Cloud Storage、BigLake | Lakehouse | 單一權限層存取 Iceberg/Delta/Parquet |
工作流 / Airflow / ELT | Cloud Composer(Managed Airflow)、Dataform | Orchestration | 以 SQL + Git 管理 ELT |
BI & Visualization | Looker、Looker Studio | Dashboard | LookML 語意層、可嵌入報表 |
Azure
類別 | 主要服務 | 典型角色 | 亮點特色 |
---|---|---|---|
核心 Data Warehouse | Azure Synapse Analytics(Dedicated/Serverless SQL)、Microsoft Fabric Data Warehouse | 雲端 Data Warehouse | Synapse Spark+SQL 混合;Fabric OneLake Lakehouse、Copilot SQL 助手 |
Batch/Streaming 的 ETL | Azure Data Factory、Synapse Pipelines、Event Hubs、Stream Analytics | Data Pipeline | GUI 管線+Mapping Data Flows;高吞吐 Streaming |
Data Lake & Storage | ADLS Gen2、OneLake(Fabric) | Lakehouse | HDFS API、細粒度 ACL;OneLake 全域命名空間 |
工作流 | Data Factory、Synapse Studio | Orchestration | Git 整合 CI/CD;ADF 與 Synapse 互調 |
BI & Visualization | Power BI(Fabric 整合) | Dashboard | M365 生態整合、自然語言 Q&A |
雲端工具對照表
功能 / 層面 | AWS | GCP | Azure |
---|---|---|---|
核心 Data Warehouse | Amazon Redshift / Redshift Serverless | BigQuery Editions | Synapse Analytics、Fabric DW |
Data Lake & Storage | S3 + Lake Formation | Cloud Storage + BigLake | ADLS Gen2 + OneLake |
Batch 的 ETL / ELT | AWS Glue、DataBrew | Dataflow、Dataform | Data Factory、Synapse Pipelines |
Ingest (Streaming) | Kinesis Streams / Firehose | Pub/Sub、Dataflow Streaming | Event Hubs、Stream Analytics |
Realtime 的外部 Query | Redshift Spectrum、Athena | BigQuery External Tables | Synapse Serverless SQL |
BI & Visualization | QuickSight | Looker / Looker Studio | Power BI |
Data Management / Catalog | Lake Formation、Glue Data Catalog | Dataplex、Data Catalog | Microsoft Purview |
Serverless 選項 | Redshift Serverless | BigQuery(天生 Serverless) | Fabric DW(Serverless)、Synapse Serverless |
參考資料
https://dataengineering.wiki/Concepts/Data+Architecture/Data+Warehouse
- [資料工程筆記] 資料市集(Data Mart)介紹與在三大雲端服務的工具名詞對照 - 2025-07-25
- [資料工程筆記] 資料倉儲(Data Warehouse)介紹與在三大雲端服務的工具名詞對照 - 2025-07-23
- [資料工程筆記] 資料湖(Data Lake)介紹與在三大雲端服務的工具名詞對照 - 2025-07-21