通過(guò)集群擴(kuò)展
- MySQL Cluster(NDB Cluster)
一個(gè)鍵-值數(shù)據(jù)庫(kù)服務(wù)器,高寫入高查詢吞吐,容錯(cuò)性好,分布式,但復(fù)雜查詢支持不太好
- Clustrix
一個(gè)分布式數(shù)據(jù)庫(kù),支持MySQL協(xié)議,可以直接替代MySQL;查詢分發(fā),節(jié)點(diǎn)并發(fā)執(zhí)行;擴(kuò)展節(jié)點(diǎn)方便;
- ScaleBase
查詢分裂,并發(fā)執(zhí)行,匯總結(jié)果集
- GenieDB
- Akiban
向內(nèi)擴(kuò)展
最簡(jiǎn)單的方法:對(duì)不需要的數(shù)據(jù)定時(shí)歸檔或者清理;pt-archiver
負(fù)載均衡
- 直接連接
需要應(yīng)用來(lái)決定讀取主庫(kù)還是備庫(kù);
- 基于查詢分離
不允許讀取臟數(shù)據(jù)的查詢,直接查主庫(kù),允許的查備庫(kù)
- 基于臟數(shù)據(jù)的分離
像報(bào)表這類的數(shù)據(jù),只需要晚上同步到備庫(kù)即可,直接讀備庫(kù)
- 基于會(huì)話的分離
同一個(gè)會(huì)話,先修改了數(shù)據(jù),然后有查詢,那在這個(gè)會(huì)話里讀寫操作都在主庫(kù)上
- 引入中間件
HAProxy、LVS
- 負(fù)載均衡算法
隨機(jī)、輪詢、最少連接數(shù)、最快響應(yīng)、哈希、權(quán)重
總結(jié)
實(shí)現(xiàn)應(yīng)用明確需要的,并為可能的快速增長(zhǎng)做好預(yù)先規(guī)劃,成功的規(guī)劃是可以為任何必要的措施籌集資金以滿足需求
典型的應(yīng)用在增長(zhǎng)到非常龐大時(shí),通常先從單個(gè)服務(wù)器轉(zhuǎn)移到向外擴(kuò)展的主備(讀寫分離),再到分片和按功能分區(qū)!