1.縱向分片(垂直分片)
? ? 和微服務(wù)的思想一樣,根據(jù)業(yè)務(wù)場(chǎng)景將不同的數(shù)據(jù)存入不同的數(shù)據(jù)庫(kù)
2.橫向分片(水平分片)
? ? 將一張數(shù)據(jù)過多的表數(shù)據(jù)按條件進(jìn)行拆分
? ? 可根據(jù)數(shù)據(jù)量,時(shí)間,范圍,取模/取余,枚舉值分片
一般來說首先確立縱向分片,然后考慮緩存,讀寫分離,索引技術(shù)對(duì)數(shù)據(jù)進(jìn)行優(yōu)化,在數(shù)據(jù)量極大的時(shí)候在考慮分庫(kù)分表,橫向分片是分庫(kù)分表的核心
分庫(kù)分表會(huì)遇到很多問題
1.分布式事務(wù),實(shí)物一致性
2.跨節(jié)點(diǎn)關(guān)聯(lián)查詢
3.跨節(jié)點(diǎn)分頁(yè),排序
4.主鍵避重
5.公共表處理
6.運(yùn)維工作流
什么時(shí)候分庫(kù)分表
當(dāng)數(shù)據(jù)超過500W或者單表數(shù)據(jù)超過2GB,就要考慮到分庫(kù)分表了
分庫(kù)分表常用插件
ShardingSphere 市面上常用
總體執(zhí)行邏輯

路由

執(zhí)行引擎

OLAP面向分析 數(shù)據(jù)吞吐量大 效率要求不高 適合于大量數(shù)據(jù)的報(bào)表
OLTP面向事務(wù)? 歸并效率高? 適合于電商高并發(fā)場(chǎng)景

SPI機(jī)制快速的找到service實(shí)現(xiàn)類
mycat 出自阿里巴巴,但并非阿里巴巴開發(fā)
DBLE 只支持Mysql 基于mycat,簡(jiǎn)單強(qiáng)大