Menggunakan runtime lanjutan BigQuery
Dokumen ini menjelaskan cara mengaktifkan dan menonaktifkan runtime lanjutan BigQuery, serta cara mengevaluasi efek runtime lanjutan pada performa kueri Anda.
Peran dan izin
Untuk mendapatkan izin yang
diperlukan untuk menentukan setelan konfigurasi,
minta administrator untuk memberi Anda
peran IAM BigQuery Admin (roles/bigquery.admin
)
di project atau organisasi Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Fitur
Mengaktifkan runtime lanjutan di project BigQuery akan mengaktifkan fitur di pemroses kueri yang mengurangi latensi kueri dan penggunaan slot tanpa biaya tambahan.
Vektorisasi yang ditingkatkan
Eksekusi tervektorisasi adalah model pemrosesan kueri yang beroperasi pada kolom data dalam blok yang sesuai dengan ukuran cache CPU dan menggunakan instruksi single instruction, multiple data (SIMD). Vektorisasi yang ditingkatkan memperluas eksekusi kueri vektor di BigQuery ke aspek pemrosesan kueri berikut:
- Dengan memanfaatkan encoding data khusus dalam format penyimpanan Capacitor, operasi evaluasi filter dapat dijalankan pada data yang dienkode.
- Encoding khusus disebarkan melalui rencana kueri, yang memungkinkan lebih banyak data diproses saat masih dienkode.
- Dengan menerapkan pelipatan ekspresi untuk mengevaluasi fungsi deterministik dan ekspresi konstanta, BigQuery dapat menyederhanakan predikat kompleks menjadi nilai konstanta.
Pengoptimalan kueri pendek
BigQuery biasanya menjalankan kueri di lingkungan terdistribusi menggunakan lapisan perantara shuffle. Pengoptimalan kueri singkat secara dinamis mengidentifikasi kueri yang dapat dijalankan sebagai satu tahap, sehingga mengurangi latensi dan konsumsi slot. Encoding khusus dapat digunakan secara lebih efektif saat kueri dijalankan dalam satu tahap. Pengoptimalan ini paling efektif jika digunakan dengan mode pembuatan tugas opsional, yang meminimalkan latensi startup, pemeliharaan, dan pengambilan hasil tugas.
Kelayakan untuk pengoptimalan kueri singkat bersifat dinamis dan dipengaruhi oleh faktor-faktor berikut:
- Ukuran pemindaian data yang diprediksi.
- Jumlah pemindahan data yang diperlukan.
- Selektivitas filter kueri.
- Jenis dan tata letak fisik data dalam penyimpanan.
- Struktur kueri keseluruhan.
- Statistik historis dari eksekusi kueri sebelumnya.
Mengaktifkan runtime lanjutan
Untuk mengaktifkan runtime lanjutan bagi project atau organisasi Anda, gunakan pernyataan
ALTER PROJECT
atau
ALTER ORGANIZATION
untuk mengubah
konfigurasi default. Dalam
pernyataan, tetapkan argumen query_runtime
ke 'advanced'
. Contoh:
ALTER PROJECTPROJECT_NAME
SET OPTIONS ( `region-LOCATION
.query_runtime` = 'advanced' );
Ganti kode berikut:
PROJECT_NAME
: nama projectLOCATION
: lokasi project
Diperlukan waktu beberapa menit agar perubahan diterapkan.
Setelah Anda mengaktifkan runtime lanjutan, kueri yang memenuhi syarat dalam project atau organisasi akan menggunakan runtime lanjutan, terlepas dari pengguna yang membuat tugas kueri.
Menonaktifkan runtime lanjutan
Untuk menonaktifkan runtime lanjutan untuk project atau organisasi Anda, gunakan pernyataan
ALTER PROJECT
atau ALTER ORGANIZATION
untuk mengubah
konfigurasi default. Dalam
pernyataan, tetapkan argumen query_runtime
ke NULL
. Contoh:
ALTER PROJECTPROJECT_NAME
SET OPTIONS ( `region-LOCATION
.query_runtime` = NULL );
Ganti kode berikut:
PROJECT_NAME
: nama projectLOCATION
: lokasi project
Diperlukan waktu beberapa menit agar perubahan diterapkan.
Mengevaluasi performa kueri
Anda dapat menggunakan
penjelajah tugas administratif dan
tampilan INFORMATION_SCHEMA
untuk
mengevaluasi efek runtime lanjutan pada waktu eksekusi kueri dan penggunaan slot.
Ikuti langkah-langkah berikut untuk mengevaluasi performa kueri dengan dan tanpa mengaktifkan runtime lanjutan:
Di Trusted Cloud konsol, buka halaman BigQuery.
Buka tab baru di editor kueri.
Menonaktifkan penggunaan hasil kueri yang di-cache untuk tab kueri tersebut.
Ketik atau salin kueri pengujian Anda ke tab kueri.
Jalankan kueri pengujian beberapa kali untuk menetapkan performa dasar. Setelah setiap kali dijalankan, tentukan metrik performa kueri sebagai berikut:
- Lihat detail eksekusi kueri di penjelajah tugas administratif.
Ambil data performa tugas dari tampilan
INFORMATION_SCHEMA.JOBS_BY_USER
dengan menjalankan kueri berikut di tab kueri baru:SELECT job_id, end_time - start_time AS duration, total_slot_ms, query FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_USER WHERE creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND job_type='QUERY' AND total_slot_ms IS NOT NULL ORDER BY creation_time DESC, query ASC LIMIT 1000;
Ulangi Langkah 5.
Bandingkan metrik latensi kueri dan penggunaan slot untuk kueri pengujian dari sebelum dan sesudah Anda mengaktifkan runtime lanjutan.