Google AI 推出 CardBench 評估框架:含 20 個真實數據庫,更全面評估基數估計模型

IT之家 9 月 3 日消息,Google AI 研究人員最新推出了 CardBench 基準,主要為學習型基數估計(cardinality estimation)滿足系統評估框架需求。

CardBench 基準是個綜合評估框架,包含 20 個不同真實數據庫中的數千次查詢,大大超過了以往的任何基準。

項目背景

基數估計(cardinality estimation,簡稱 CE)是優化關係數據庫查詢性能的關鍵,涉及預測數據庫查詢將返回的中間結果數量,直接影響查詢優化器對執行計劃的選擇。

對於選擇高效的連接順序、決定是否使用索引以及選擇最佳連接方法來說,準確的卡入度估計至關重要。

這些決策會對查詢執行時間和數據庫整體性能產生重大影響。不準確的估計會導致糟糕的執行計劃,從而大大降低性能,有時甚至會降低幾個數量級。

現代數據庫系統中廣泛使用的基數估計技術,依賴於啟髮式(Heuristic)方法和簡化模型,例如假設數據統一和列獨立。

這些方法雖然計算效率高,但往往需要準確預測基數,在涉及多個表和過濾器的複雜查詢中表現尤為明顯。

最新的數據驅動方法試圖在不執行查詢的情況下,對錶內和表間的數據分佈進行建模,從而減少了一些開銷,但在數據發生變化時仍需要重新訓練。

儘管取得了這些進步,但由於缺乏全面的基準,因此很難對不同的模型進行比較,也很難評估它們在不同數據集上的通用性。

CardBench 

CardBench 能在各種條件下對學習到的基數模型進行更全面的評估。該基準支持三種關鍵設置:

  • 基於實例的模型,即在單個數據集上進行訓練;

  • 零點模型,即在多個數據集上進行預訓練,然後在一個未見數據集上進行測試;

  • 微調模型,即進行預訓練,然後使用目標數據集的少量數據進行微調。

該基準測試提供兩組訓練數據:一組用於具有多個篩選條件謂詞的單個表查詢,另一組用於涉及兩個表的二進製聯接查詢。

該基準測試包括 9125 個單表查詢和 8454 個二進製連接查詢,適用於其中一個較小的數據集,從而確保為模型評估提供強大且具有挑戰性的環境。

例如,微調圖神經網絡(GNN)模型在二進製連接查詢中的 q-error 中位數為 1.32,第 95 百分位數為 120,明顯優於零點模型。結果表明,即使是 500 次查詢,對預訓練模型進行微調也能大幅提高其性能。這使它們在訓練數據有限的實際應用中變得可行。

總之,CardBench 代表了在學習的基數估計方面的重大進步。研究人員可以通過提供全面、多樣的基準,系統地評估和比較不同的 CE 模型,從而促進這一關鍵領域的進一步創新。該基準能夠支持需要較少數據和訓練時間的微調模型,為訓練新模型成本過高的實際應用提供了切實可行的解決方案。

IT之家附上參考地址