本發(fā)明涉及分片部署,尤其涉及一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法及裝置。
背景技術(shù):
1、在mpp分布式系統(tǒng)中,dba部署mpp集群時(shí),為了操作簡(jiǎn)便,通常會(huì)采用單分片的部署方式,也就是一個(gè)計(jì)算節(jié)點(diǎn)一個(gè)主分片,在數(shù)據(jù)量比較小或者服務(wù)器內(nèi)存很大、并發(fā)數(shù)很小的情況下,這種部署方式并不會(huì)引起明顯的性能異常;但是當(dāng)大數(shù)據(jù)量的表做關(guān)聯(lián)查詢、聚合查詢時(shí),mpp集群會(huì)將主分片的數(shù)據(jù)全部放入內(nèi)存,并按cpu核數(shù)或者線程數(shù)進(jìn)行切分,當(dāng)主分片數(shù)據(jù)量很大,切分的時(shí)間就會(huì)很長(zhǎng),另外,當(dāng)因數(shù)據(jù)量太大,內(nèi)存放不下的時(shí)候,就會(huì)產(chǎn)生數(shù)據(jù)落盤,而一旦涉及到磁盤讀寫,磁盤讀寫性能和內(nèi)存讀寫性能差距很大,就會(huì)很明顯的影響查詢性能,這也是單分片部署的弊端。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明旨在至少解決相關(guān)技術(shù)中存在的技術(shù)問題之一。為此,本發(fā)明提供一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法及裝置。
2、本發(fā)明提供一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,包括:
3、s1:獲取集群中的哈希緩存區(qū)大小,并根據(jù)磁盤監(jiān)控?cái)?shù)據(jù)獲取參與計(jì)算的數(shù)據(jù)信息;
4、s2:根據(jù)所述哈希緩存區(qū)大小及所述數(shù)據(jù)信息計(jì)算獲得最佳部署分片數(shù);
5、s3:根據(jù)所述最佳部署分片數(shù)動(dòng)態(tài)調(diào)整部署分片數(shù)。
6、根據(jù)本發(fā)明提供的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,步驟s1中具體包括:
7、當(dāng)所述磁盤監(jiān)控?cái)?shù)據(jù)內(nèi)不存在sql歷史數(shù)據(jù)時(shí),采集第一數(shù)據(jù)信息;
8、當(dāng)所述磁盤監(jiān)控?cái)?shù)據(jù)內(nèi)存在sql歷史數(shù)據(jù)時(shí),采集第二數(shù)據(jù)信息。
9、根據(jù)本發(fā)明提供的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,所述第一數(shù)據(jù)信息包括:
10、參與計(jì)算的表的總數(shù)據(jù)行數(shù)、最大列寬、列基數(shù)值;
11、所述第二數(shù)據(jù)信息包括:
12、當(dāng)前部署分片數(shù)、落盤數(shù)據(jù)大小。
13、根據(jù)本發(fā)明提供的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,步驟s2具體包括:
14、當(dāng)所述數(shù)據(jù)信息為所述第一數(shù)據(jù)信息時(shí),所述最佳部署分片數(shù)為第一最佳部署分片數(shù);
15、當(dāng)所述數(shù)據(jù)信息為所述第二數(shù)據(jù)信息時(shí),所述最佳部署分片數(shù)為第二最佳部署分片數(shù)。
16、根據(jù)本發(fā)明提供的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,所述第一最佳部署分片數(shù)的表達(dá)式為:
17、
18、其中,為第一最佳部署分片數(shù),為參與計(jì)算的列基數(shù)值,為參與計(jì)算的表的總數(shù)據(jù)行數(shù),為哈希緩沖區(qū)大小,為參與計(jì)算的數(shù)據(jù)列的最大列寬;
19、所述第二最佳部署分片數(shù)的表達(dá)式為:
20、
21、其中,為第二最佳部署分片數(shù),為落盤數(shù)據(jù)大小,為當(dāng)前部署分片數(shù)。
22、根據(jù)本發(fā)明提供的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,步驟s3具體包括:
23、當(dāng)需要調(diào)整部署分片數(shù)時(shí),根據(jù)所述最佳部署分片數(shù)動(dòng)態(tài)調(diào)整部署分片數(shù);
24、當(dāng)需要維持部署分片數(shù)時(shí),調(diào)整數(shù)據(jù)信息以進(jìn)行部署分片數(shù)維持。
25、根據(jù)本發(fā)明提供的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,所述根據(jù)所述最佳部署分片數(shù)動(dòng)態(tài)調(diào)整部署分片數(shù)的步驟具體包括:
26、當(dāng)所述數(shù)據(jù)信息中的任一數(shù)據(jù)信息值變化時(shí),計(jì)算獲得變化后的最佳部署分片數(shù),將變化后的最佳部署分片數(shù)作為動(dòng)態(tài)調(diào)整后的部署分片數(shù)。
27、根據(jù)本發(fā)明提供的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,所述調(diào)整數(shù)據(jù)信息以進(jìn)行部署分片數(shù)維持的步驟具體包括:
28、當(dāng)所述總數(shù)據(jù)行數(shù)增加,其它數(shù)據(jù)信息不變,需要維持部署分片數(shù)時(shí),增加哈希緩存區(qū)大?。?/p>
29、當(dāng)所述最大列寬增加,其它數(shù)據(jù)信息不變,需要維持部署分片數(shù)時(shí),增加哈希緩存區(qū)大小。
30、根據(jù)本發(fā)明提供的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,當(dāng)所述哈希緩存區(qū)大小無(wú)法增加時(shí),動(dòng)態(tài)調(diào)整后的部署分片數(shù)為所述最佳部署分片數(shù)。
31、本發(fā)明還提供一種部署分片數(shù)的動(dòng)態(tài)調(diào)整裝置,用以執(zhí)行如以上任一項(xiàng)所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,包括:
32、采集模塊:用于獲取集群中的哈希緩存區(qū)大小,并根據(jù)磁盤監(jiān)控?cái)?shù)據(jù)獲取參與計(jì)算的數(shù)據(jù)信息;
33、計(jì)算模塊:用于根據(jù)所述采集模塊采集獲得的所述哈希緩存區(qū)大小及所述數(shù)據(jù)信息計(jì)算獲得最佳部署分片數(shù);
34、調(diào)整模塊:用于根據(jù)所述計(jì)算模塊計(jì)算獲得的最佳部署分片數(shù)動(dòng)態(tài)調(diào)整部署分片數(shù)。
35、本發(fā)明提供一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法及裝置,最大程度的使得數(shù)據(jù)在內(nèi)存中計(jì)算,根據(jù)磁盤數(shù)據(jù)中是否存在sql運(yùn)行數(shù)據(jù),及落盤數(shù)據(jù)的大小,通過不同方式計(jì)算最佳的部署分片數(shù),后續(xù)通過計(jì)算獲得的最佳部署分片數(shù),根據(jù)是否要調(diào)整分片數(shù)需求,進(jìn)行相應(yīng)的部署分片數(shù)調(diào)整或者哈希緩沖區(qū)的調(diào)整,能夠最大限度的降低磁盤對(duì)性能的影響,解決了當(dāng)數(shù)據(jù)量大,內(nèi)存小,并發(fā)高,性能下降的問題,總體來(lái)講本發(fā)明能夠根據(jù)mpp特點(diǎn),自動(dòng)輸出最佳部署的分片數(shù),將磁盤對(duì)性能的影響降低到最小,使用戶業(yè)務(wù)更快速完成,避免因磁盤問題造成的性能下降,提高業(yè)務(wù)執(zhí)行的性能。
36、本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
1.一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,步驟s1中具體包括:
3.根據(jù)權(quán)利要求2所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,所述第一數(shù)據(jù)信息包括:
4.根據(jù)權(quán)利要求2所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,步驟s2具體包括:
5.根據(jù)權(quán)利要求4所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,所述第一最佳部署分片數(shù)的表達(dá)式為:
6.根據(jù)權(quán)利要求3所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,步驟s3具體包括:
7.根據(jù)權(quán)利要求6所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,所述根據(jù)所述最佳部署分片數(shù)動(dòng)態(tài)調(diào)整部署分片數(shù)的步驟具體包括:
8.根據(jù)權(quán)利要求6所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,所述調(diào)整數(shù)據(jù)信息以進(jìn)行部署分片數(shù)維持的步驟具體包括:
9.根據(jù)權(quán)利要求7所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,當(dāng)所述哈希緩存區(qū)大小無(wú)法增加時(shí),動(dòng)態(tài)調(diào)整后的部署分片數(shù)為所述最佳部署分片數(shù)。
10.一種部署分片數(shù)的動(dòng)態(tài)調(diào)整裝置,用以執(zhí)行如權(quán)利要求1-9任一項(xiàng)所述的一種部署分片數(shù)的動(dòng)態(tài)調(diào)整方法,其特征在于,包括: