當我們在開發應用程式時,光有程式碼還不夠。想像一下,如果一個購物網站只能顯示首頁,但無法記住誰下了單、誰加入了購物車,這樣的網站幾乎沒有用。程式碼需要一個地方來「存放資料」,這個地方就是資料庫。資料庫在雲端裡,就像家裡的各種櫃子:衣櫃放衣服、冰箱放食物、書櫃放書。不同的東西要放進不同的櫃子,才能方便存取和管理。AWS 提供了許多不同的資料庫服務,今天我們要認識其中三個:DynamoDB、RDS 和 Aurora。
DynamoDB — 雲端裡的快取櫃
DynamoDB 是一個 Serverless 的 NoSQL 資料庫。所謂 NoSQL,代表它不像傳統資料庫那樣用「表格 + 欄位」來管理資料,而是更靈活,常見的結構是「Key-Value」或「文件型態」。想像它像是一個超快的置物櫃,你只要有一個「鑰匙」(Key),就能快速找到你要的東西(Value)。
它的特點是:
-
自動擴展:不需要人工調整,AWS 會自動幫你處理大量請求。
-
高併發:同時有上萬人查資料也沒問題。
-
低延遲:速度快,特別適合即時應用。
常見應用場景包括:遊戲排行榜(記錄玩家分數)、IoT 裝置資料(感測器數據)、聊天訊息記錄等。更棒的是,DynamoDB 提供相當大的免費額度(每月 25GB 儲存空間,以及一定量的讀寫次數),這對初學者或小專案來說幾乎不用花錢。
可以把 DynamoDB 想成「便利商店的置物櫃」:東西放進去,隨時都能快速取出,而且櫃子數量會自動增加,完全不用自己管理。
RDS — 傳統的資料櫃
RDS 全名是 Relational Database Service,顧名思義就是一個「關聯式資料庫」服務。它支援許多傳統的 SQL 資料庫引擎,例如:MySQL、PostgreSQL、MariaDB、Oracle、SQL Server。這些都是大家在學習資料庫時最常見的選項。
RDS 的特色是:
-
支援 SQL 語法:適合需要進行複雜查詢或關聯操作的應用。
-
交易處理能力強:像是銀行轉帳、電商訂單,都需要確保資料一致性,RDS 很適合這類場景。
-
自動備份與修補:AWS 幫你處理基礎設施,使用者只要專心寫程式即可。
RDS 適合的情境有:電商平台的會員與訂單系統、財務記錄、公司內部系統。舉例來說,如果你要設計一個「線上書店」,可能需要建立「會員表格」、「商品表格」、「訂單表格」,這些彼此會有關聯,這正是 RDS 擅長的地方。
不過需要注意,RDS 雖然有免費層(通常是 750 小時的小型資料庫),但資源有限。如果長時間開著,超過免費額度,可能會開始產生成本。所以在學習時要記得定期關閉不使用的資料庫。
Aurora — 豪華的智慧櫃
Aurora 是 AWS 自家開發的雲端資料庫,可以看作是「進化版的 RDS」。它相容 MySQL 和 PostgreSQL,因此你可以用熟悉的 SQL 語法開發,但它的效能與可擴展性比傳統資料庫更強大。
Aurora 的特色:
- 是 把「運算」和「儲存」拆開。在 Aurora 裡,運算節點(處理 SQL 查詢的地方)和儲存層(存放資料的地方)是獨立的,並透過一個 共享的叢集儲存卷 (Cluster Volume) 連結起來。這個共享儲存卷會分散到 三個可用區 (AZ),總共 六個 Storage Node。這樣的設計帶來幾個好處:
1. 自動儲存擴展
- Aurora 的儲存會 自動以 10GB 為單位增加,從最小 10GB 到最大 128TiB。
- 使用者不需要手動調整磁碟大小,也不用擔心資料庫突然「爆滿」或效能下降。
- 相比之下,傳統 RDS 的最大空間:MySQL / MariaDB / Oracle / PostgreSQL 上限是 64TiB,而 SQL Server 甚至只有 16TiB。Aurora 的擴展能力更強。
2. 加強版的多可用區容錯能力
- Aurora 的資料會 在三個 AZ 各自複製兩份,總共有 六份複本。
- 這樣即使某個 AZ 或某個儲存節點故障,仍然有其他複本可以即時接手,幾乎不會有資料遺失。
- 由於是分散式儲存架構,故障轉移 (Failover) 非常快,系統停機時間降到最低。
3. 最佳化的運算與複寫方式
- Aurora 的 運算節點 (Compute Node) 負責處理查詢,並透過共享儲存卷來存取資料。
- Aurora 的 複寫完全在儲存層進行,不需要像傳統 RDS 那樣,主節點與從節點間必須做「同步複寫」。
- 因為運算節點是 無狀態 (Stateless),隨時可以快速替換,不會影響資料。這讓系統更快、更穩、更好維護。
最後是RDS vs Aurora 架構比較

總結
在 AWS 的世界裡,「資料的家」有很多選擇,每一種都有不同定位:
-
DynamoDB:就像便利商店的置物櫃,快速、簡單、不用管伺服器,還有大方的免費額度。非常適合入門或需要高併發的應用。
-
RDS:就像傳統的書櫃,資料有條理、能建立關聯,適合需要 SQL 與強一致性的場景。免費層有限,但學習價值高。
-
Aurora:像是智慧豪華櫃,效能強大、能自動調整容量,適合商業級應用,但要考慮成本。
👉 建議初學者的選擇路線:
- 想省錢、快速上手 → 選 DynamoDB(挑戰我會選用這個!)。
- 想熟悉 SQL、體驗傳統資料庫 → 選 RDS。
- 想了解高階雲端資料庫架構 → 研究 Aurora,但不建議一開始就直接使用。
記住:選擇資料庫就像選擇櫃子,要看你放的東西是什麼,以及未來要怎麼用。學會挑對「資料的家」,應用程式才能更穩定、更強大。