
Overview
5 種資料庫橫向比較平台,包含效能 Benchmark、實作 Labs、反模式實驗室、完整監控。所有測試環境以 Docker Compose 一鍵啟動,Grafana + Prometheus 提供即時效能監控儀表板。
Databases
| Database | Version | Type |
|---|
| MySQL | 8.0 | 關聯式 |
| PostgreSQL | 16 | 關聯式 |
| MongoDB | 7 | 文件型 NoSQL |
| Redis | 7 | 鍵值/快取 |
| Elasticsearch | 8 | 搜索引擎 |
Benchmarks (8)
| Benchmark | Description |
|---|
| CRUD | 單筆操作延遲比較 |
| Bulk | 批次操作效能 |
| Concurrent | 併發壓力測試 |
| Search | 全文搜索比較 |
| Scenario | 電商場景模擬 |
| Connection Pool | 連線池效能 |
| Aggregation | 聚合查詢比較 |
| Index | 索引效能測試 |
Labs (11)
| Lab | Topic | Description |
|---|
| 1 | 搜尋引擎 | ES 3-node cluster + Kibana + Logstash |
| 2 | Sharding | MongoDB + Citus 切片集群 |
| 3 | 主從架構 | 4 種 DB 的主從 + 故障切換 |
| 4 | 備份復原 | 備份、還原、PITR 演練 |
| 5 | SQL 練習場 | 30 題 SQL 練習 |
| 6 | 交易隔離 | 隔離等級實驗 |
| 7 | 查詢優化 | EXPLAIN + Index 策略 |
| 8 | ORM 比較 | 多 ORM 效能比較 |
| 9 | 遷移 | MySQL → PostgreSQL 實戰 |
| 10 | DAL 設計 | NestJS 後端 DAL 架構 |
| 11 | Auto Scaling | 自動擴縮設計 |
Anti-patterns (37)
| Category | Count | Examples |
|---|
| Schema 設計 | 5 | 多型關聯、EAV、過度正規化 |
| 查詢錯誤 | 7 | N+1、隱式轉換、SELECT * |
| 連線問題 | 4 | 連線洩漏、Pool 耗盡 |
| 交易陷阱 | 5 | 長交易、Deadlock |
| ORM 誤用 | 5 | Lazy loading、N+1 |
| 運維失誤 | 6 | 無備份、無監控 |
| 架構缺陷 | 5 | 單點故障、讀寫不分 |
環境說明
- Benchmark 執行:TypeScript 腳本驅動,自動產生 JSON 結果並匯入 Grafana 視覺化
- Lab 環境:每個 Lab 獨立 Docker Compose,包含資料庫、監控、測試腳本
- 反模式實驗室:37 個可重現的反模式,每個附帶問題描述、重現步驟、修復方案
- 監控堆疊:Prometheus 採集 + Grafana 儀表板,涵蓋 QPS、延遲、連線池、記憶體使用
Tech Stack
MySQL 8 ・ PostgreSQL 16 ・ MongoDB 7 ・ Redis 7 ・ Elasticsearch 8 ・ Prometheus ・ Grafana ・ TypeScript ・ Docker Compose ・ Makefile
← Back to Portfolio