這個案例的核心責任是說明「transactional 金融系統」如何在不可預期峰值下維持低延遲。跟 9.C2 GR8 Tech 對比 — GR8 Tech 走「微服務 + AI 預測擴容」、DraftKings 走「Aurora 單一資料庫服務支撐多 DB cluster」、兩條路徑都解決同類業務問題。

觀察

DraftKings 帳本系統的關鍵數字(引自 DraftKings case study):

指標數字
客戶數310 萬 unique customers / month (Q2 2024)
峰值操作100 萬 ops / 分鐘
讀延遲< 1 ms
寫延遲6 ms
Replication lag從 30 秒降到 10-30 ms
Database 數量200 個 individual databases
Super Bowl 流量比賽季開幕高 +50%

服務組合:Amazon Aurora MySQL-Compatible、Aurora Replicas(讀寫分流)、Aurora I/O-Optimized(2023-05 推出)、Aurora Database Cloning(測試環境)、跨三個 AZ 儲存複製。

關鍵負載形狀:「write workloads spike up significantly around payout events, but opening the app during the game also activates a lot of balance queries」— 比賽進行時是讀爆量、payout event 時是寫爆量、雙峰錯位。

判讀

DraftKings 的工程選擇揭露三個 OLTP 容量設計重點。

  1. 200 個獨立資料庫 = sharding 預先做好:按業務切 200 個 cluster、用巨型 cluster 撐全部在這個規模行不通。對應 9.5 瓶頸定位流程 把「單機極限」改成「shard 極限」、每個 shard 的容量規劃變成獨立問題。
  2. Replication lag 30 秒 → 10-30 ms:這個改善不只是「快」、而是讓 read-after-write 變得可預測。Aurora 的 storage layer 多 AZ 複製是這個 lag 改善的主因。對應 01 資料庫模組 的 replication lag 影響 transaction boundary 設計。
  3. Super Bowl +50% 「no sweat」:這句話的工程意義是 提前做好容量規劃、不是「Aurora 神奇」。寫 workload 預期可能 + 50%、整個 system headroom 預留至少 50%、加上 read replica 動態加減、才能讓 50% 增幅變成「不流汗」。對應 9.6 容量規劃模型 的 headroom budget 與 event-driven scheduled scaling。

需要警惕:100 萬 ops / 分鐘 = ~17K ops / 秒、跨 200 個 databases 平均下來每個 DB 約 80 ops / 秒。這不是「單一 DB 撐 100 萬 ops」、而是「200 shard 加總 100 萬」。讀案例時要看「峰值是分散到多少 shard」、不只看總數。

策略

可重用的工程做法:

  1. 按業務切 OLTP cluster、不要一個 DB 撐全部:DraftKings 200 個 databases 顯示「業務切片」是 OLTP 擴容的前置。對應 01 資料庫模組 的 schema design 與 partition 決策。
  2. 讀寫分流是 OLTP 容量規劃的基線:6ms 寫 vs <1ms 讀的差距、加上 read replica、是 OLTP 擴容最基本的兩個槓桿。
  3. 事件型峰值預測寫進 baseline:Super Bowl 是已知事件、+50% 是歷史經驗、所以可以提前 pre-scale。事件未知(突發新聞、KOL 推廣)的情況才需要 AI 預測(對照 9.C2 GR8 Tech)。

跨平台等效:GCP Cloud SQL + read replica / Spanner、Azure Database for PostgreSQL + read replica、自建 PostgreSQL + Patroni + pgbouncer 都可以實作對等架構。Aurora 的差異是 storage layer 對 replica 的 lag 改善。

下一步路由

引用源