Google云計(jì)算推出BigQuery推薦器,通過分析工作負(fù)載和表格,協(xié)助用戶對(duì)表格進(jìn)行分區(qū)(Partitioning)或是分群(Clustering),以優(yōu)化成本支出。
所謂的資料表分區(qū),是將大表格分為多個(gè)區(qū)段,每個(gè)區(qū)段可包含特定時(shí)窗的資料,因此像是針對(duì)特定時(shí)間范圍的資料查詢,BigQuery就僅需要查詢該時(shí)間范圍的分區(qū),而不需要掃描整個(gè)表格。而分群則是根據(jù)用戶定義的字段,對(duì)表格進(jìn)行排序,因此當(dāng)用戶在查詢特定值的資料時(shí),BigQuery就可以快速定位包含該數(shù)值的資料區(qū)塊。
這兩種方法都可以提高特定類型的查詢性能,像是使用過濾條件的查詢,和對(duì)資料進(jìn)行聚合的查詢。
不過,決定資料分區(qū)或是分群的最佳策略并不容易,尤其在大型數(shù)據(jù)庫中,優(yōu)化查詢工作變得非常復(fù)雜,每個(gè)表格可能包含數(shù)百萬和數(shù)十億筆資料,要人工決定分區(qū)還是分類,不只需要專業(yè)知識(shí),還會(huì)耗費(fèi)大量時(shí)間。而且數(shù)據(jù)庫用戶具有不同的查詢需求,查詢觸及表格的不同部分和字段,要預(yù)測查詢模式進(jìn)行優(yōu)化,是一件困難的事。
BigQuery推薦器會(huì)分析過去30天每個(gè)項(xiàng)目的工作負(fù)載執(zhí)行情況,并尋找表格資料缺乏效率的掃描,通過減少不必要的資料掃描,減少成本并增加查詢速度。推薦器會(huì)運(yùn)用機(jī)器學(xué)習(xí)技術(shù),提供可以優(yōu)化資料訪問的建議。
推薦器主要會(huì)對(duì)大于100 Gb的表格分區(qū),10 Gb以上的表格則是提供分類建議,官方提到,過小的表格的優(yōu)化效益不高,且成效難以預(yù)測。用戶要使用推薦器有幾種方式,除了直接在UI上操作,也可以在推薦器集成中心Recommendation Hub中以控制臺(tái)操作,或是使用推薦器API。