Google云计算推出BigQuery推荐器,通过分析工作负载和表格,协助用户对表格进行分区(Partitioning)或是分群(Clustering),以优化成本支出。
所谓的资料表分区,是将大表格分为多个区段,每个区段可包含特定时窗的资料,因此像是针对特定时间范围的资料查询,BigQuery就仅需要查询该时间范围的分区,而不需要扫描整个表格。而分群则是根据用户定义的字段,对表格进行排序,因此当用户在查询特定值的资料时,BigQuery就可以快速定位包含该数值的资料区块。
这两种方法都可以提高特定类型的查询性能,像是使用过滤条件的查询,和对资料进行聚合的查询。
不过,决定资料分区或是分群的最佳策略并不容易,尤其在大型数据库中,优化查询工作变得非常复杂,每个表格可能包含数百万和数十亿笔资料,要人工决定分区还是分类,不只需要专业知识,还会耗费大量时间。而且数据库用户具有不同的查询需求,查询触及表格的不同部分和字段,要预测查询模式进行优化,是一件困难的事。
BigQuery推荐器会分析过去30天每个项目的工作负载执行情况,并寻找表格资料缺乏效率的扫描,通过减少不必要的资料扫描,减少成本并增加查询速度。推荐器会运用机器学习技术,提供可以优化资料访问的建议。
推荐器主要会对大于100 Gb的表格分区,10 Gb以上的表格则是提供分类建议,官方提到,过小的表格的优化效益不高,且成效难以预测。用户要使用推荐器有几种方式,除了直接在UI上操作,也可以在推荐器集成中心Recommendation Hub中以控制台操作,或是使用推荐器API。
领取专属 10元无门槛券
私享最新 技术干货