垂直與水平聯(lián)合切分的使用
日期:2011/11/13 / 人氣:
在實(shí)際的應(yīng)用場(chǎng)景中,除了那些負(fù)載并不是太大、業(yè)務(wù)邏輯也相對(duì)簡(jiǎn)單的系統(tǒng)可以通過上面切分方法之一來解決擴(kuò)展性問題之外,恐怕其他大部分業(yè)務(wù)邏輯復(fù)雜、系統(tǒng)負(fù)載大的系統(tǒng),都無法通過上面任何一種數(shù)據(jù)的切分方法來實(shí)現(xiàn)較好的擴(kuò)展性,這就需要將“垂直”和“水平”這兩種切分方法結(jié)合使用,不同的場(chǎng)景使用不同的切分方法。
一般來說,數(shù)據(jù)庫中的所有表很難通過某一個(gè)(或少數(shù)幾個(gè))字段全部關(guān)聯(lián)起來,所以僅僅通過數(shù)據(jù)的水平切分無法解決所有問題。而垂直切分也只能解決部分問題,對(duì)于那些負(fù)載非常高的系統(tǒng),即使只是單個(gè)表都無法通過單臺(tái)數(shù)據(jù)庫主機(jī)來承擔(dān)其負(fù)載。必須結(jié)合“垂直”和“水平”兩種切分方式,充分利用兩者的優(yōu)點(diǎn),避開其缺點(diǎn)。
每一個(gè)應(yīng)用系統(tǒng)的負(fù)載都是一步一步增長(zhǎng)上來的,在開始遇到性能瓶頸的時(shí)候,大多數(shù)架構(gòu)師和DBA都會(huì)選擇先進(jìn)行數(shù)據(jù)的垂直拆分,因?yàn)檫@樣的成本最低,最符合這個(gè)時(shí)期所追求的最大投入產(chǎn)出比。然而,隨著業(yè)務(wù)的不斷擴(kuò)張,系統(tǒng)負(fù)載的持續(xù)增長(zhǎng),在系統(tǒng)穩(wěn)定一段時(shí)期之后,經(jīng)過了垂直拆分之后的數(shù)據(jù)庫集群可能再次不堪重負(fù),遇到了性能瓶頸。
此時(shí)該如何抉擇?是再次進(jìn)一步細(xì)分模塊,還是尋找其他的解決辦法?如果我們?cè)傧褡铋_始那樣繼續(xù)細(xì)分模塊,進(jìn)行數(shù)據(jù)的垂直切分,那可能在不久的將來,又會(huì)遇到現(xiàn)在所面臨的同樣問題。而且隨著模塊的不斷細(xì)分,應(yīng)用系統(tǒng)的架構(gòu)也會(huì)越來越復(fù)雜,整個(gè)系統(tǒng)很可能會(huì)出現(xiàn)失控的局面。
這時(shí)候就需要利用數(shù)據(jù)水平切分的優(yōu)勢(shì)來解決遇到的問題。而且,完全不必在使用數(shù)據(jù)水平切分時(shí),推倒之前進(jìn)行數(shù)據(jù)垂直切分的成果,而是在其基礎(chǔ)上利用水平切分的優(yōu)勢(shì)來避開垂直切分的弊端,解決系統(tǒng)復(fù)雜性不斷擴(kuò)大的問題。而水平拆分的弊端(規(guī)則難以統(tǒng)一)也已經(jīng)被之前的垂直切分解決掉了,讓水平切分可以進(jìn)行得得心應(yīng)手。
實(shí)際上,在很多大型的應(yīng)用系統(tǒng)中,垂直切分和水平切分基本上是并存的,而且經(jīng)常在不斷地交替進(jìn)行,以增加系統(tǒng)的擴(kuò)展能力。我們?cè)趹?yīng)對(duì)不同的應(yīng)用場(chǎng)景時(shí),也需要充分考慮到這兩種切分方法的局限及優(yōu)勢(shì),在不同時(shí)期(負(fù)載壓力)使用不同的方式。
佛山網(wǎng)站建設(shè)_佛山網(wǎng)站制作_佛山網(wǎng)站設(shè)計(jì)_佛山網(wǎng)站_佛山網(wǎng)頁設(shè)計(jì)_佛山網(wǎng)頁建設(shè)_佛山網(wǎng)頁制作
聯(lián)合切分的有點(diǎn):
1)可以充分利用垂直切分和水平切分各自的優(yōu)勢(shì)而避免各自的缺陷;
2)讓系統(tǒng)擴(kuò)展性得到最大化提升。
聯(lián)合切分的缺點(diǎn):
1)數(shù)據(jù)庫系統(tǒng)架構(gòu)比較復(fù)雜,維護(hù)難度更大;
2)應(yīng)用程序架構(gòu)也更復(fù)雜。
作者:朋友圈科技
相關(guān)內(nèi)容 Related
- 為什么響應(yīng)式設(shè)計(jì)需要媒體查詢2016/8/5
- 虛擬主機(jī)被搜索引擎爬蟲訪問耗費(fèi)大量流量解決方法2016/8/3
- 網(wǎng)站建設(shè)中如何創(chuàng)建完美的顏色組合2016/8/1
- 什么是長(zhǎng)尾關(guān)鍵詞?2016/8/1
- 建設(shè)企業(yè)或個(gè)人網(wǎng)站的好處2016/7/8
- 前端開發(fā)者需要知道的常識(shí)2016/7/6
- 12種方法為您拓展業(yè)務(wù)通道2016/7/27
- SEO優(yōu)化的三大技巧2016/7/24
- 10的方法來提高你的網(wǎng)站設(shè)計(jì)2016/7/24
- 網(wǎng)站統(tǒng)計(jì)用哪個(gè)比較好,百度?cnzz?2016/7/21