Database 系列
從 MySQL 的歷史包袱到 PostgreSQL 的崛起,從 NoSQL 的使用場景到效能調校的實戰技巧。用工程師的角度重新理解資料庫選型。
資料庫選型
| # | 主題 | 說明 |
|---|---|---|
| 01 | 資料庫全景圖:一張表看懂 SQL、NoSQL、NewSQL、Vector DB | 全景概覽與分類 |
| 02 | MySQL:為什麼越來越多人覺得它不夠好? | MySQL 的優缺點與歷史包袱 |
| 03 | PostgreSQL:為什麼它變成了預設選擇 | PostgreSQL 的優勢與適用場景 |
| 08 | MongoDB vs PostgreSQL:什麼時候該用 NoSQL? | 文件型 vs 關聯型的取捨 |
特殊用途資料庫
| # | 主題 | 說明 |
|---|---|---|
| 04 | 快取與 Session 管理:Redis、Memcached、還是直接用 DB? | Redis/Memcached 選型與 Cache 策略 |
| 05 | 全文搜尋:Elasticsearch、Meilisearch、還是 PostgreSQL 就夠了? | 搜尋引擎選型 |
| 06 | 向量資料庫:RAG 時代你該知道的 Embedding 儲存方案 | Vector DB 與 AI 應用 |
| 07 | 時序資料庫:監控資料用一般 DB 存,你會後悔 | InfluxDB/TimescaleDB 選型 |
設計、調校與擴展
| # | 主題 | 說明 |
|---|---|---|
| 09 | 資料庫設計模式:正規化、反正規化、分表的取捨 | Schema 設計原則 |
| 10 | SQL 效能調校:EXPLAIN 看不懂?這篇教你 | EXPLAIN 分析、索引策略、慢查詢 |
| 11 | 資料庫遷移:換 DB 不爆炸的完整流程 | 遷移策略與風險控管 |
| 12 | 資料庫擴展:讀寫分離、分片、連接池的選擇 | 擴展架構與選型 |
閱讀建議
- 剛入門:從 01 全景圖開始,建立分類概念,再看 02/03 理解 MySQL vs PostgreSQL。
- 在選資料庫:依場景看 04-08,每篇都有明確的選型建議。
- 想優化效能:10 教你看 EXPLAIN,09 幫你設計好 schema。
- 要擴展系統:12 讀寫分離/分片/連接池,11 教你怎麼安全遷移。
- 搭配閱讀:RAG 架構 和 Chunking 與 Vector DB 是 06 向量資料庫的延伸。
進階路線
從入門到進階的實作路徑。每一級做一個專案,做完才升級。
Level 1: 單表 CRUD — SQL 基礎、資料型態
設計一個使用者資料表,練 CREATE/INSERT/UPDATE/DELETE、資料型態選擇、NULL 處理。 相關文章:資料庫全景圖、PostgreSQL
Level 2: 多表關聯(電商 schema)— JOIN、FK、正規化
設計電商資料庫(用戶、商品、訂單、庫存),練 JOIN 查詢、外鍵約束、正規化設計。 相關文章:資料庫設計模式
Level 3: 查詢優化 — EXPLAIN、Index、慢查詢
對電商 schema 做效能調校,練 EXPLAIN 分析、索引策略、慢查詢排查。 相關文章:SQL 效能調校
Level 4: Redis + 搜尋 — Cache-aside、全文搜尋、連線池
加上 Redis 快取和全文搜尋,練 Cache-aside 模式、搜尋引擎整合、連線池管理。 相關文章:快取與 Session 管理、全文搜尋
Level 5: 擴展架構 — 讀寫分離、分片、備份、監控
延伸閱讀
以下是微服務壓測系列的資料庫相關文章:
策展地圖
- 資料庫全景 — 跨系列 25+ 篇文章的選型到調校決策路徑
- Request 的一生 — 資料庫在整體架構中的位置