1、縱向分割就是,我們不同的應(yīng)用可以分到不同的DB中,不同的實例中,或者說把某個擁有很多字段的表拆分成小表。
2、橫向分割就是,某些應(yīng)用可能不負(fù)載,比如用戶注冊,但是用戶表會非常大,可以把大表分開?梢圆捎帽矸謪^(qū),數(shù)據(jù)存儲在不同文件上,然后再部署到獨立物理服務(wù)器增加IO吞吐以改善讀寫性能,土一點的做法就是自己定期把老的數(shù)據(jù)存檔。表分區(qū)的另外一個優(yōu)勢可以增加數(shù)據(jù)查詢速度,因為我們的頁索引可以有多層了,就像一個文件夾中的文件不要太多,多分幾層文件夾一樣。
3、還可以通過數(shù)據(jù)庫鏡像、復(fù)制訂閱、事物日志,把讀寫分開到不同的鏡像物理數(shù)據(jù)庫上,一般來說夠用,如果還不行可以用硬件來實現(xiàn)數(shù)據(jù)庫的負(fù)載均衡。當(dāng)然,對于BI,我們可能還會有數(shù)據(jù)倉庫。
架構(gòu)上考慮到了這些之后,流量大了,就可以在這個的基礎(chǔ)上再去調(diào)整或者做WEB服務(wù)器或者應(yīng)用服務(wù)器的負(fù)載均衡。很多時候我們都是在重復(fù)發(fā)現(xiàn)問題-》找到瓶頸-》解決這個過程。
典型的架構(gòu)如下:
動態(tài)WEB服務(wù)器配好點的CPU,靜態(tài)WEB服務(wù)器和文件服務(wù)器磁盤好點
應(yīng)用服務(wù)器內(nèi)存大點,緩存服務(wù)器也是,數(shù)據(jù)庫服務(wù)器當(dāng)然內(nèi)存和CPU都要好