先用一句話理解
分辨 SQL、PostgreSQL、Redis、Object Storage、Vector Database、Supabase,以及 Authentication、Authorization、OAuth、JWT、RBAC。
不要只記縮寫。要能回答:這個技術是什麼類型、負責什麼、與哪些工具相依、出問題時要查哪一層。
資料與安全:基礎名詞與具體例子
| 名詞 | 白話解釋 | 使用情境 |
|---|---|---|
| SQL | 查詢與操作關聯式資料的語言。 | SELECT 查詢會員資料。 |
| PostgreSQL / MySQL | 常見關聯式資料庫系統。 | 訂單、付款狀態與會員資料。 |
| SQLite | 嵌入式輕量關聯式資料庫。 | 小型 App 的本機資料。 |
| MongoDB | 文件型資料庫。 | 儲存多樣結構的文件。 |
| Redis | 常用於快取、狀態或佇列的高速資料儲存。 | 快取熱門商品資訊。 |
| Object Storage | 適合存放圖片、影片與檔案。 | 上傳商品照與 PDF。 |
| Vector Database | 支援向量近似搜尋與語意檢索的系統類型。 | 依語意找客服知識段落。 |
| Supabase | 以 PostgreSQL 為核心的後端平台。 | 資料庫、Auth、Storage、Edge Functions。 |
| Authentication | 確認使用者或程式身分。 | 登入後確認是誰。 |
| Authorization | 判斷已辨識的身分能進行哪些操作。 | 住戶只能編輯自己的住所。 |
| RBAC | 依使用者角色分配權限。 | 管理員、編輯者、訪客。 |
| Token / JWT | Token 可作為憑證;JWT 是帶有宣告的特定格式。 | 帶有權限資訊的存取 Token。 |
| OAuth 2.0 | 標準化委託授權框架。 | 允許第三方 App 取得限定權限。 |
| Least Privilege | 只給執行工作所必需的最小權限。 | 住戶 Token 不得修改社區設定。 |
常見混淆:它們究竟差在哪?
SQL vs PostgreSQL
SQL 是語言;PostgreSQL 是實際資料庫。
Authentication vs Authorization
登入成功不代表擁有修改全部資料的權利。
Object Storage vs Database
照片與影片通常適合物件儲存;訂單關係適合關聯式資料庫。
實作時的三個檢查點
- 先畫出資料表與資料擁有者,再要求 AI 生成程式。
- 所有敏感資料存取均在伺服器端驗證權限,不只隱藏按鈕。
- 安排備份、復原演練、金鑰輪替、日誌及資料保留政策。
常見問題 FAQ
用了 Supabase 還需要自己寫後端嗎?
未必需要傳統長駐後端,但通常仍要設計安全規則、資料存取政策及必要的伺服器端邏輯。
JWT 是加密的嗎?
常見簽章 JWT 主要保證內容完整性,不代表內容已加密;避免在載荷放入機密資料。