OLAP與OLTP數(shù)據(jù)庫(kù)由于關(guān)注的業(yè)務(wù)不同,所以軟件在工作方式和優(yōu)化方法會(huì)有一些不同。
OLTP業(yè)務(wù)主要業(yè)務(wù)場(chǎng)景是交易記錄的準(zhǔn)確性,因此需要寫(xiě)入具有唯一性,所以傳統(tǒng)針對(duì)OLTP數(shù)據(jù)庫(kù)的優(yōu)化方法將負(fù)責(zé)寫(xiě)入的“一夫”節(jié)點(diǎn)性能大幅提升,如使用更快的CPU,增加更多的內(nèi)存,使用將內(nèi)存當(dāng)做磁盤(pán)用的傲騰存儲(chǔ),使用IB網(wǎng)絡(luò)(InfiniBand network)等。
但個(gè)體設(shè)備的配置提升,會(huì)遇到天花板。于是近年來(lái)有人提出將數(shù)據(jù)庫(kù)進(jìn)行分庫(kù)分表,增加寫(xiě)入節(jié)點(diǎn)的數(shù)量而提升寫(xiě)入能力。通過(guò)將數(shù)據(jù)復(fù)制到多個(gè)只讀節(jié)點(diǎn),提升數(shù)據(jù)讀的能力。
比如對(duì)于一個(gè)記錄用戶名數(shù)據(jù)庫(kù),按姓名拼音的第一個(gè)字母拆成26個(gè)數(shù)據(jù)庫(kù),這樣就可以將原來(lái)只能由一個(gè)庫(kù)來(lái)寫(xiě),變成分別由26個(gè)庫(kù)來(lái)寫(xiě)入,從而提升寫(xiě)入能力。但每個(gè)分開(kāi)的庫(kù)還是只能有一個(gè)寫(xiě)入,還是有種“一夫當(dāng)關(guān),萬(wàn)夫莫開(kāi)”的意思。
舉個(gè)例子說(shuō)明,柏睿自研的分布式全內(nèi)存數(shù)據(jù)庫(kù)RapidsDB是基于MPP并行計(jì)算架構(gòu),集群的性能隨著節(jié)點(diǎn)規(guī)模的增加而增加。RapidsDB的技術(shù)架構(gòu)類似于“團(tuán)體作戰(zhàn)”風(fēng)格,所有的數(shù)據(jù)庫(kù)節(jié)點(diǎn)都能同時(shí)協(xié)同戰(zhàn)斗,因此提升的性能不是由個(gè)體決定的。例如在一個(gè)具有5個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的RapidsDB集群里,用戶要導(dǎo)入1000T的數(shù)據(jù)文件任務(wù),是由5個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)將1000T任務(wù)分散同時(shí)完成。如果性能不夠,再加數(shù)據(jù)庫(kù)節(jié)點(diǎn)就可以實(shí)現(xiàn)性能提升了。
以上分析,僅從技術(shù)架構(gòu)而言,并不能完全說(shuō)明哪種技術(shù)是最好。只有適合業(yè)務(wù),才是最好的技術(shù)。
審核編輯:符乾江
評(píng)論