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