一、相關(guān)概念:
- 為了解決存儲(chǔ)壓力库车,MySql可以實(shí)現(xiàn)分布式存儲(chǔ)毁习,通過不同的算法將數(shù)據(jù)存儲(chǔ)到不同服務(wù)器中,以達(dá)到分散單臺(tái)服務(wù)器負(fù)載的效果
- 分庫分割方式:
垂直分割(分庫) 按業(yè)務(wù)類型分類咖摹,將存儲(chǔ)在一個(gè)庫里的表分別存儲(chǔ)到不同的數(shù)據(jù)庫器里
水平分割(分表) 將表記錄按行切分,分散存儲(chǔ)到多個(gè)數(shù)據(jù)庫服務(wù)器表中难述。
二萤晴、常用分庫分表軟件
- MyCat
三、十種分片規(guī)則:
- 枚舉法 sharding-by-intfile(常用)
- 固定分片 rule1
- 范圍約定 auto-sharding-long
- 求模法 mod-long (常用)
- 日期列分區(qū)法 sharding-by-date
- 通配取模 sharding-by-pattern
- ASCII碼求模通配 sharding-by-prefixpattern
- 編程指定 sharding-by-substring
- 字符串拆分hash解析 sharding-by-stringhash
- 一致性hash sharding-by-murmu
四胁后、常用的拓?fù)浣Y(jié)構(gòu):
五硫眯、分片服務(wù)器的工作過程;
客戶端(client50)連接分片服務(wù)器執(zhí)行存儲(chǔ)數(shù)據(jù)命令insert
步驟一:檢查表使用的分片規(guī)則
步驟二:根據(jù)表使用分片規(guī)則的計(jì)算結(jié)果择同,將命令發(fā)送給后端數(shù)據(jù)庫服務(wù)器執(zhí)行
步驟三:獲取數(shù)據(jù)庫服務(wù)器的執(zhí)行結(jié)果两入,并將結(jié)果返回給客戶端