Scale-out 動機
透過增加資料庫節點分攤讀壓力,提升系統伸縮性、降低成本。代價:架構複雜度上升、維護困難、單點故障風險增加(理論上降低安全性與可用性)。
Master-Slave 架構圖

角色職責
| 角色 | 職責 |
| Master(主庫) |
處理所有寫入(INSERT/UPDATE/DELETE),產生 Binlog 供 Slave 拉取。 |
| Slave(從庫) |
完整備份 Master 資料,近實時同步;主要承擔讀查詢(報表、列表頁等)。 |
Web 應用典型「讀多寫少」,讀寫分離效果顯著。
核心複制流程
- Master 寫入事務 → 記錄 Binlog。
- Slave I/O Thread 連線 Master,請求 Binlog 事件。
- Master Binlog Dump Thread 發送事件。
- Slave I/O Thread 寫入本地 Relay Log。
- Slave SQL Thread 重放 Relay Log 事件,重構資料。
常見架構變體
- Dual Master(雙主互備)
- Cascading Replication(級聯複制,Slave 再做 Master)