數據庫水平拆分和垂直拆分區別


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

怎么進行表的水平拆分和垂直拆分這個要根據業務來定,水平拆分就是分庫分表但是表結構全一樣。垂直拆分就是把一張寬表分成多個小表把經常一起使用的列放到一起。不過無論怎么做都要先了解業務場景。

 

原文鏈接:http://blog.csdn.net/zljjava/article/details/38422387


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM