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