數據庫水平拆分和垂直拆分區別(以mysql為例) 案例: 簡單購物系統暫設涉及如下表: 1.產品表(數據量10w,穩定) 2.訂單表(數據量200w,且有增長趨勢) 3.用戶表 (數據量100w,且有增長趨勢) 以mysql為例講述下水平拆分和垂直拆分,mysql能容忍的數量級在百萬靜態數據可以到千萬 垂直拆分: 解決問題: 表與表之間的io競爭 不解決問題: 單表中數據量增長出現的壓力 方案: 把產品表和用戶表放到一個server上 訂單表單獨放到一個server上 水平拆分: 解決問題: 單表中數據量增長出現的壓力 不解決問題: 表與表之間的io爭奪 方案: 用戶表通過性別拆分為男用戶表和女用戶表 訂單表通過已完成和完成中拆分為已完成訂單和未完成訂單 產品表 未完成訂單放一個server上 已完成訂單表盒男用戶表放一個server上 女用戶表放一個server上(女的愛購物 哈哈)