Pengoptimal kueri basis data sangat bergantung pada estimasi kardinalitas (CE) untuk memprediksi ukuran hasil kueri dan dengan demikian memilih rencana eksekusi terbaik. Perkiraan kardinalitas yang tidak akurat dapat menyebabkan penurunan performa kueri. Metode CE yang ada memiliki keterbatasan, terutama ketika menangani pertanyaan yang kompleks. Meskipun model pembelajaran CE lebih akurat, biaya pelatihannya tinggi dan evaluasi tolok ukurnya kurang sistematis.
Dalam database relasional modern, estimasi kardinalitas (CE) memainkan peran penting. Sederhananya, estimasi kardinalitas adalah prediksi berapa banyak hasil antara yang akan dihasilkan oleh kueri database. Prediksi ini berdampak besar pada pilihan rencana eksekusi pengoptimal kueri, seperti menentukan urutan penggabungan, apakah akan menggunakan indeks, dan pilihan metode penggabungan terbaik. Jika perkiraan kardinalitas tidak akurat, rencana eksekusi mungkin akan terganggu, sehingga menghasilkan kecepatan kueri yang sangat lambat dan sangat memengaruhi kinerja database secara keseluruhan.
Namun, metode estimasi kardinalitas yang ada memiliki banyak keterbatasan. Teknologi CE tradisional bergantung pada beberapa asumsi yang disederhanakan dan sering kali secara akurat memprediksi kardinalitas kueri yang kompleks, terutama ketika melibatkan banyak tabel dan kondisi. Meskipun pembelajaran model CE dapat memberikan akurasi yang lebih baik, penerapannya dibatasi oleh waktu pelatihan yang lama, kebutuhan kumpulan data yang besar, dan kurangnya evaluasi tolok ukur yang sistematis.
Untuk mengisi kesenjangan ini, tim riset Google meluncurkan CardBench, sebuah kerangka benchmarking baru. CardBench mencakup lebih dari 20 database dunia nyata dan ribuan kueri, jauh melebihi tolok ukur sebelumnya. Hal ini memungkinkan peneliti untuk secara sistematis mengevaluasi dan membandingkan model pembelajaran CE yang berbeda dalam berbagai kondisi. Tolok ukur ini mendukung tiga pengaturan utama: model berbasis instans, model zero-shot, dan model yang disesuaikan, sesuai untuk kebutuhan pelatihan yang berbeda.
CardBench juga dirancang untuk menyertakan seperangkat alat yang dapat menghitung statistik yang diperlukan, menghasilkan kueri SQL nyata, dan membuat grafik kueri beranotasi untuk melatih model CE.
Tolok ukur ini menyediakan dua set data pelatihan: satu untuk kueri tabel tunggal dengan beberapa predikat filter, dan satu lagi untuk kueri gabungan biner yang melibatkan dua tabel. Tolok ukur ini mencakup 9125 kueri tabel tunggal dan 8454 kueri gabungan biner pada salah satu kumpulan data yang lebih kecil, memastikan lingkungan yang kuat dan menantang untuk evaluasi model. Melatih label data dari Google BigQuery memerlukan waktu eksekusi kueri selama 7 tahun CPU, sehingga menyoroti investasi komputasi yang signifikan dalam membuat tolok ukur ini. Dengan menyediakan kumpulan data dan alat ini, CardBench menghilangkan hambatan bagi para peneliti untuk mengembangkan dan menguji model CE baru.
Dalam evaluasi kinerja menggunakan CardBench, model yang telah disempurnakan memiliki kinerja yang sangat baik. Meskipun model zero-shot kesulitan meningkatkan akurasi ketika diterapkan pada kumpulan data yang tidak terlihat, terutama dalam kueri kompleks yang melibatkan gabungan, model yang disempurnakan dapat mencapai akurasi yang sebanding dengan metode berbasis instans dengan data pelatihan yang jauh lebih sedikit. Misalnya, model jaringan neural grafik (GNN) yang disempurnakan mencapai median kesalahan q sebesar 1,32 dan kesalahan q persentil ke-95 sebesar 120 pada kueri gabungan biner, yang secara signifikan lebih baik daripada model zero-shot. Hasilnya menunjukkan bahwa bahkan dengan 500 kueri, menyempurnakan model yang telah dilatih sebelumnya dapat meningkatkan performanya secara signifikan. Hal ini membuatnya cocok untuk aplikasi praktis di mana data pelatihan mungkin terbatas.
Pengenalan CardBench membawa harapan baru pada bidang estimasi kardinalitas yang dipelajari, memungkinkan peneliti mengevaluasi dan meningkatkan model secara lebih efektif, sehingga mendorong pengembangan lebih lanjut dalam bidang penting ini.
Pintu masuk makalah: https://arxiv.org/abs/2408.16170
Singkatnya, CardBench menyediakan kerangka kerja tolok ukur yang komprehensif dan kuat, menyediakan alat dan sumber daya penting untuk penelitian dan pengembangan model estimasi kardinalitas pembelajaran, dan mendorong kemajuan teknologi pengoptimalan kueri basis data. Performa luar biasa dari model yang telah disempurnakan ini patut mendapat perhatian khusus, karena memberikan kemungkinan baru untuk skenario aplikasi praktis.