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