廣告點擊系統 API 最初採用 DynamoDB 儲存廣告點擊(ad click)事件。DynamoDB 的無伺服器特性讓初期開發非常快速,然而,當業務成長、下游服務開始大量呼叫 API 存取歷史點擊資料時,兩個問題接連浮現:費用快速攀升,以及API 呼叫次數遭到限流。
DynamoDB 有兩種計費模式:
On-Demand 模式的話,假設下游分析服務每分鐘發出 10,000 次 API 請求,每次查詢都要掃描某個 ad_id 的多筆點擊資料(例如撈取某支廣告過去 30 天的點擊紀錄,平均每次掃描回傳 200 筆 × 每筆 1 KB = 200 KB):
相同的查詢量,Aurora Serverless v2 只需要支付計算資源費用:最小單位 0.5 ACU 約 $0.06/小時,即使尖峰擴展到 4 ACU 也只是 $0.48/小時,所需費用只約 DynamoDB On-Demand 模式的一半。
Provisioned 模式雖然比較便宜,但流量大就需要 Auto-scalling ,不然會被 throttle ,不一定符合需求。