Mysql分表分库
Mysql分表分庫
垂直拆分(根據(jù)業(yè)務拆分)、水平拆分(將一張大的表 拆分成n多張不同的子表。)。
大型互聯(lián)網(wǎng)公司中
會根據(jù)業(yè)務來實現(xiàn)拆分
分成不同的團隊 每個團隊中都有自己獨立的數(shù)據(jù)庫
會員服務—會員db
訂單服務—訂單db
支付服務-----支付db
垂直拆分
淘寶網(wǎng)—是否屬于垂直電商? 不是
當當網(wǎng)----主要核心的業(yè)務賣書籍 —垂直電商
什么是垂直拆分
1.數(shù)據(jù)庫拆分主要指分庫分表,其目的主要是分散數(shù)據(jù)庫壓力,達到橫向擴展,滿足均衡訪問等。
2.數(shù)據(jù)庫拆分主要有兩種方式:垂直拆分和水平拆分。
A.垂直拆分:
將不同業(yè)務功能相關的表放到不同的數(shù)據(jù)庫中 也就是類似于 微服務架構中 會員數(shù)據(jù)庫/訂單數(shù)據(jù)庫/支付數(shù)據(jù)庫
例如 當當網(wǎng)(賣書)
http://static.mayikt.com/dagang.html
什么是水平拆分
B.水平拆分:
當一張表的業(yè)務量行數(shù)如果超過500萬行(阿里巴巴java開發(fā)手冊官方推薦),分頁/排序效率還是非常低,可以對同一張表數(shù)據(jù)實現(xiàn)拆分放到多個不同的表中存放。
User表 —500萬行數(shù)據(jù) 考慮分表
User0----500萬行數(shù)據(jù)
User1----500萬行數(shù)據(jù)
User2----500萬行數(shù)據(jù)
User3----500萬行數(shù)據(jù)
總結
- 上一篇: Seata阿里分布式事务中间件(一):S
- 下一篇: 如何分表分库 Mycat 与shadin