您好,登錄后才能下訂單哦!
小編給大家分享一下數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)怎么實(shí)現(xiàn)負(fù)載平衡,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)如何負(fù)載平衡
通常沒(méi)有人在作數(shù)據(jù)庫(kù)的Load Balance,即便做的話,只是把它當(dāng)熱切換器而已。
如果數(shù)據(jù)量大到一臺(tái)數(shù)據(jù)庫(kù)無(wú)法負(fù)擔(dān),考慮拆Database的時(shí)候,首要考慮數(shù)據(jù)的同步該如何處理。
在做數(shù)據(jù)庫(kù)多臺(tái)并行前,要先確定數(shù)據(jù)一致性需要多高,如果可以容忍有時(shí)間差的同步,可以考慮用Big Table架構(gòu)的數(shù)據(jù)庫(kù)來(lái)進(jìn)行處理,否則就是加快取吧,并且盡量把數(shù)據(jù)庫(kù)讀/寫(xiě)的任務(wù)分散來(lái)做。
理論上講,合理的作法應(yīng)該是要組成Database Cluster才對(duì)。在Cluster的環(huán)境中,Database主機(jī)可以有很多臺(tái),但是大家的后端都接到同一個(gè)外部存儲(chǔ)器(通常是SAN),所有主機(jī)都 寫(xiě)入同一個(gè)存儲(chǔ)器內(nèi)的一個(gè)數(shù)據(jù)庫(kù)而已,也因?yàn)橹挥幸粋€(gè)存儲(chǔ)器、一個(gè)數(shù)據(jù)庫(kù),所以主機(jī)之間沒(méi)有同步的需要。
數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)如何負(fù)載平衡
負(fù)載平衡設(shè)備是不能解決數(shù)據(jù)庫(kù)負(fù)載過(guò)重的問(wèn)題,但Databse Server性能不足的原因很多,應(yīng)詳細(xì)探究為何性能不足,架Database Cluster能解決部分問(wèn)題,但不一定能帶來(lái)太大性能上的改進(jìn)。
拆Table結(jié)構(gòu)是一個(gè)方法,通常是用在數(shù)據(jù)量特大的Table才建議,但用這種方式,程序開(kāi)發(fā)人員一定會(huì)很痛苦,如果真要采取這種架構(gòu),建議程序架構(gòu) 要多一層數(shù)據(jù)存取層,商業(yè)物件不能直接下SQL存取數(shù)據(jù)庫(kù)數(shù)據(jù),要通過(guò)數(shù)據(jù)存取層元件來(lái)存取數(shù)據(jù)庫(kù)數(shù)據(jù),才能避免程序工程師的人為錯(cuò)誤。
建議是先分析數(shù)據(jù)庫(kù)性能瓶頸,再來(lái)決定架構(gòu)。根據(jù)經(jīng)驗(yàn),Disk I/O是最大的問(wèn)題,而造成Disk I/O的原因,通常是Index沒(méi)設(shè)好,或是程序設(shè)計(jì)師撰寫(xiě)的SQL指令,沒(méi)考慮到數(shù)據(jù)增長(zhǎng)后的性能問(wèn)題。這些問(wèn)題都排除后,再考慮數(shù)據(jù)庫(kù)的備份或鏡像, 將復(fù)雜的查詢(xún)指令、BI報(bào)表及Data Mining的數(shù)據(jù)來(lái)源,指向備份或鏡像出來(lái)的那臺(tái)Database主機(jī),這樣應(yīng)該就可以解決你的問(wèn)題。
看完了這篇文章,相信你對(duì)“數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)怎么實(shí)現(xiàn)負(fù)載平衡”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。