API 與後端 MOC
用途:串連 API 設計、後端與資料庫的相關筆記。 上層:Software Engineering MOC
API 設計
驗證
資料庫
資料庫效能原理
- WHERE 決定回傳幾列,索引才決定要看過幾列 — 掃描量由索引決定,不是由條件決定
- JOIN 貴在每一列都要去另一張表配對 — 三種 join 演算法與列數放大
- OFFSET 分頁的總成本是 O(頁數平方),cursor 分頁才是 O(頁數) — 深分頁與 keyset 分頁
- 同一個寫法在互動式列表沒事,在全量掃描必爆 — 慣例的適用範圍由負載形狀決定
大量資料與長時間工作
- 1M 列批次建立改用瀏覽器內 SQLite(souffle 1199 + cupcake 1777) — 來源筆記:完整的前後端拆解、風險清單與矛盾點
- 用二進位 artifact 當 API 的傳輸格式 — 讓後端直接產可查詢的檔案
- 長時間工作改成 202 加 workflowId 輪詢
- 前端的即時驗證是 UX,後端重驗才是 gate
- 失敗時只回錯誤集合,讓使用者就地修正
Review 時要抓的坑
可觀測性 / Logging
- Logging 架構設計 — logging 作為橫切關注點:ambient singleton + AsyncLocalStorage 串 trace(NestJS + Winston + GCP)