- 案例:
-
簡單購物 系統暫設涉及如下表:1.產品表(數據量10w,穩定)2.訂單表(數據量200w,且有增長趨勢)3.用戶表 (數據量100w,且有增長趨勢)以mysql為例講述下水平拆分和垂直拆分,mysql能容忍的數量級在百萬靜態數據可以到千萬垂直拆分:解決問題:表與表之間的io競爭不解決問題:單表中數據量增長出現的壓力方案:把產品表和用戶表放到一個server上訂單表單獨放到一個server上水平拆分:解決問題:單表中數據量增長出現的壓力不解決問題:表與表之間的io爭奪方案:用戶表通過性別拆分為男用戶表和女用戶表訂單表通過已完成和完成中拆分為已完成訂單和未完成訂單產品表 未完成訂單放一個server上已完成訂單表盒男用戶表放一個server上女用戶表放一個server上(女的愛購物 哈哈)
怎么進行表的水平拆分和垂直拆分這個要根據業務來定,水平拆分就是分庫分表但是表結構全一樣。垂直拆分就是把一張寬表分成多個小表把經常一起使用的列放到一起。不過無論怎么做都要先了解業務場景。
原文鏈接:http://blog.csdn.net/zljjava/article/details/38422387