當單機 Scale-Up(加 CPU/RAM/SSD)撞上物理/成本天花板,必須轉向 Scale-Out(多機分擔負載)。SQL Server 提供三大原生路徑,另可結合雲端與第三方方案。
| 複寫類型 | 架構 | 適用場景 | 衝突處理 |
|---|---|---|---|
| 交易式複寫 | 發佈端寫入 → 多訂閱端讀取 | 地理分散、報表卸載、異地備份 | 單向寫入,無衝突 |
| 合併式複寫 | 多端可寫 → 合併代理程式解決衝突 | 離線/行動端、雙向同步 | 需自訂衝突解決器(優先級/時間戳/業務邏輯) |
| 對等複寫 | 多節點對等讀寫 | 高可用讀寫分散 | 複雜,需應用層配合 |
關鍵限制:無自動負載平衡、寫入延遲隨網路/交易量增大、Schema 變更傳播複雜、合併式需大量客製化開發與使用者再教育。
實施門檻高:需資料庫架構師深度分析存取模式、設計分區鍵、處理跨分區聯結/交易、修改應用程式(或用檢視表/預存程序封裝隔離)。
| 需求特徵 | 推薦方案 | 備註 |
|---|---|---|
| 極簡運維、彈性付費、可接受雲端 | Azure SQL / SQL Azure | 優先評估 |
| 地理分散、以讀為主、寫入單一來源 | 交易式複寫 | 最成熟穩定 |
| 多地寫入、離線同步、可投入開發資源 | 合併式複寫 | 衝突解決器是關鍵 |
| 超大單表、明確分區鍵、可重構應用 | 聯合資料庫/分區 | 架構師主導 |
| 以上皆不符、需透明 Scale-Out | 第三方中介軟體(ScaleArc, Heimdall, Citus 等) | 評估授權成本與相容性 |
Scale-Out 是架構演進的必經之路,但代價是複雜度。優先上雲、次選複寫、再考聯合/分區、最後才引入第三方中介層。每一步都要以業務價值為錨點,切勿為技術而技術。