由Google Cloud發(fā)展與運(yùn)維的高可擴(kuò)展NoSQL數(shù)據(jù)庫(kù)托管服務(wù)Cloud Bigtable,現(xiàn)在提供自動(dòng)縮放(Autoscaling)功能。Bigtable將會(huì)根據(jù)用戶(hù)的工作負(fù)載變化,自動(dòng)添加和刪減容量,來(lái)滿(mǎn)足流量需求,但同時(shí)又能大幅減少成本支出,根據(jù)Google的實(shí)驗(yàn),在日常工作負(fù)載中應(yīng)用自動(dòng)縮放功能,降低成本甚至可達(dá)40%。
在激活自動(dòng)縮放后,用戶(hù)僅需根據(jù)使用的容量支付費(fèi)用,而且由于容量配置的管理成本降低,管理基礎(chǔ)設(shè)施的時(shí)間減少,用戶(hù)將可花更多的時(shí)間在關(guān)鍵業(yè)務(wù)上。自動(dòng)縮放NoSQL數(shù)據(jù)庫(kù)執(zhí)行規(guī)模的功能,適用于HDD和SSD集群,并且已經(jīng)在所有Bigtable區(qū)域提供。
用戶(hù)可以在Bigtable的控制臺(tái)、gcloud命令行工具、Bigtable Admin API和客戶(hù)端上,針對(duì)集群激活自動(dòng)縮放功能,在激活該功能后,Bigtable會(huì)自動(dòng)縮放集群中的節(jié)點(diǎn)數(shù)量,反應(yīng)不斷變化的容量利用率,官方提到,這將能大幅降低過(guò)度配置,或是配置不足等不正確容量估算的業(yè)務(wù)風(fēng)險(xiǎn)。
新集群和現(xiàn)有集群皆可激活自動(dòng)縮放功能,用戶(hù)僅需設(shè)置兩個(gè)信息,分別是目標(biāo)CPU利用率,以及節(jié)點(diǎn)數(shù)量范圍。對(duì)此,Google進(jìn)行了大量的實(shí)驗(yàn),來(lái)確保自動(dòng)縮放能夠良好地處理用戶(hù)的工作負(fù)載,也會(huì)提供完整的監(jiān)控和審核日志記錄,供用戶(hù)清楚掌握Bigtable的行為,確保支付的費(fèi)用和性能預(yù)期一致。
Bigtable自動(dòng)縮放并非適用所有業(yè)務(wù),官方列出了3個(gè)適合采用自動(dòng)縮放功能的場(chǎng)景,第一是像零售業(yè)具有固定晝夜流量模式的業(yè)務(wù),可以利用自動(dòng)縮放功能優(yōu)化成本,但同時(shí)維持集群性能,第二則是新的Bigtable用戶(hù),或是運(yùn)行新的工作負(fù)載,難以評(píng)估未知流量的場(chǎng)景,最后則是正在增長(zhǎng)的業(yè)務(wù),但是不確定增長(zhǎng)的服務(wù),用戶(hù)也可利用Bigtable自動(dòng)縮放功能,在需要的時(shí)候提供足夠流量做好準(zhǔn)備。
而自動(dòng)縮放也有無(wú)法處理的情況,像是部分批處理,在流量急劇增加時(shí),自動(dòng)縮放會(huì)做出反應(yīng),但是Bigtable仍需要重新平衡資料和流量,來(lái)應(yīng)對(duì)快速增加的節(jié)點(diǎn),而重新平衡作業(yè)可能會(huì)對(duì)Bigtable性能產(chǎn)生影響。另外,自動(dòng)縮放也無(wú)法解決部分熱訪(fǎng)問(wèn)點(diǎn)或是熱訪(fǎng)問(wèn)分片的問(wèn)題,在這種情況,Google提醒用戶(hù)應(yīng)該檢查資料訪(fǎng)問(wèn)模式及架構(gòu)設(shè)計(jì)。