Google Cloud的NoSQL数据库服务添加自动扩展功能

由Google Cloud发展与运维的高可扩展NoSQL数据库托管服务Cloud Bigtable,现在提供自动缩放(Autoscaling)功能。Bigtable将会根据用户的工作负载变化,自动添加和删减容量,来满足流量需求,但同时又能大幅减少成本支出,根据Google的实验,在日常工作负载中应用自动缩放功能,降低成本甚至可达40%。

在激活自动缩放后,用户仅需根据使用的容量支付费用,而且由于容量配置的管理成本降低,管理基础设施的时间减少,用户将可花更多的时间在关键业务上。自动缩放NoSQL数据库执行规模的功能,适用于HDD和SSD集群,并且已经在所有Bigtable区域提供。

用户可以在Bigtable的控制台、gcloud命令行工具、Bigtable Admin API和客户端上,针对集群激活自动缩放功能,在激活该功能后,Bigtable会自动缩放集群中的节点数量,反应不断变化的容量利用率,官方提到,这将能大幅降低过度配置,或是配置不足等不正确容量估算的业务风险。

新集群和现有集群皆可激活自动缩放功能,用户仅需设置两个信息,分别是目标CPU利用率,以及节点数量范围。对此,Google进行了大量的实验,来确保自动缩放能够良好地处理用户的工作负载,也会提供完整的监控和审核日志记录,供用户清楚掌握Bigtable的行为,确保支付的费用和性能预期一致。

Bigtable自动缩放并非适用所有业务,官方列出了3个适合采用自动缩放功能的场景,第一是像零售业具有固定昼夜流量模式的业务,可以利用自动缩放功能优化成本,但同时维持集群性能,第二则是新的Bigtable用户,或是运行新的工作负载,难以评估未知流量的场景,最后则是正在增长的业务,但是不确定增长的服务,用户也可利用Bigtable自动缩放功能,在需要的时候提供足够流量做好准备。

而自动缩放也有无法处理的情况,像是部分批处理,在流量急剧增加时,自动缩放会做出反应,但是Bigtable仍需要重新平衡资料和流量,来应对快速增加的节点,而重新平衡作业可能会对Bigtable性能产生影响。另外,自动缩放也无法解决部分热访问点或是热访问分片的问题,在这种情况,Google提醒用户应该检查资料访问模式及架构设计。