本章比較 AWS 主要的資料庫選項:關聯式(RDS / Aurora)、NoSQL(DynamoDB)、快取(ElastiCache)與資料倉儲(Redshift)。考試重點在於依情境(延遲需求、擴展模式、一致性要求)判斷該選哪一種,而不是死背功能列表。
🧱 白話:Read Replica 的原理是「讀寫分離」——主庫負責寫、影印幾份分身分攤讀流量(非同步抄寫,所以有複本延遲);Multi-AZ 則是「待命備援」。SQL vs NoSQL、交易、索引、一致性這些本章會一直用到的地基,見 基礎篇 ch07 資料庫基礎。
這是 SAA 考試中最常出現的資料庫比較,必須清楚兩者的目的完全不同:
ProvisionedThroughputExceededException)。適合流量穩定、可預估的負載,單價最便宜。ElastiCache 是 AWS 管理的記憶體快取服務,提供 Redis 和 Memcached 兩種引擎:
快取策略(Caching Strategy):選了引擎之後,還要決定「資料什麼時候進快取」。考題常用敘述而不是名詞來問,兩種策略各自的缺點就是判斷關鍵:
Amazon Redshift(資料倉儲):
其他專用資料庫:
| 特性 | Multi-AZ | Read Replicas |
|---|---|---|
| 目的 | 高可用(HA)/ 災難恢復 | 讀取效能擴展 |
| 複製方式 | 同步(Synchronous) | 非同步(Asynchronous) |
| 接受讀取? | ❌ Standby 不接受讀取 | ✅ 可接受 SELECT |
| 故障切換 | ✅ 自動 Failover(60-120秒) | ❌ 需手動 Promote |
| 部署位置 | 不同 AZ(同 Region) | 同 AZ / 跨 AZ / 跨 Region |
| 最多幾個 | 1 個 Standby | 最多 5 個(Aurora 15 個) |
| 網路費用 | 無額外費用 | 跨 Region 有費用 |
| 特性 | GSI(全域次要索引) | LSI(本地次要索引) |
|---|---|---|
| Partition Key | 可與主表不同 | 必須與主表相同 |
| Sort Key | 可自由指定(可有可無) | 換成別的欄位(必填) |
| 何時能建立 | 建表後隨時新增/刪除 | 只能在建表當下,事後不能加也不能刪 |
| 容量(RCU/WCU) | 獨立佈建,與主表分開 | 共用主表容量 |
| 一致性 | 只支援最終一致讀取 | 可強一致讀取 |
| 數量上限 | 每張表 20 個(可申請提高) | 每張表 5 個 |
| 特性 | Redis | Memcached |
|---|---|---|
| 資料持久化 | ✅ 支援(AOF/RDB) | ❌ 不支援 |
| 高可用 | ✅ Multi-AZ + Read Replicas | ❌ 不支援 |
| Backup/Restore | ✅ 支援 | ❌ 不支援 |
| 資料結構 | 豐富(String, List, Set, Hash, Sorted Set...) | 只有 Key-Value |
| 多執行緒 | 單執行緒(Redis 6+ 部分多執行緒) | ✅ 原生多執行緒 |
| Pub/Sub | ✅ 支援 | ❌ |
| 適合場景 | Session、排行榜、即時分析 | 純快取、多執行緒高吞吐 |
| 需求 | 選擇 | 理由 |
|---|---|---|
| 關聯式DB、OLTP、複雜 SQL | RDS(MySQL/PostgreSQL) | 標準 RDBMS,支援 SQL |
| 需要高可用 + 高效能的關聯式 DB | Aurora | 比 RDS 快 5x,6份複本,15個副本 |
| 高吞吐量 NoSQL、Serverless | DynamoDB | 個位數毫秒,無限擴展 |
| 資料倉儲、BI 分析、OLAP | Redshift | 列式儲存,分析查詢快 10x |
| 記憶體快取(需持久化) | ElastiCache Redis | 支援備份和高可用 |
| 記憶體快取(純快取) | ElastiCache Memcached | 多執行緒,架構簡單 |
| MongoDB 相容文件 DB | DocumentDB | AWS 管理的 MongoDB |
| 圖資料(社交網路/推薦) | Neptune | 圖資料庫專用 |
點擊卡片翻面查看答案,共 11 張。