Pengantar kueri berkelanjutan

Dokumen ini menjelaskan kueri berkelanjutan BigQuery.

Kueri berkelanjutan BigQuery adalah pernyataan SQL yang berjalan terus-menerus. Dengan kueri berkelanjutan, Anda dapat menganalisis data yang masuk di BigQuery secara real time. Anda dapat menulis atau mengekspor baris output yang dihasilkan oleh kueri berkelanjutan ke tujuan berikut:

Kueri berkelanjutan dapat memproses data yang telah ditulis ke tabel BigQuery standar atau tabel terkelola Apache Iceberg menggunakan salah satu metode berikut:

Anda dapat menggunakan kueri berkelanjutan untuk melakukan tugas mendesak, seperti membuat dan segera menindaklanjuti insight, menerapkan inferensi machine learning (ML) real-time, dan mereplikasi data ke platform lain. Dengan begitu, Anda dapat menggunakan BigQuery sebagai mesin pemrosesan data berbasis peristiwa untuk logika keputusan aplikasi Anda.

Diagram berikut menunjukkan alur kerja kueri berkelanjutan yang umum:

Diagram yang mengilustrasikan alur kerja kueri berkelanjutan BigQuery yang umum, termasuk penyerapan data, pemrosesan, dan ekspor ke tujuan seperti Bigtable dan Pub/Sub.

Kasus penggunaan

Kasus penggunaan umum saat Anda mungkin ingin menggunakan kueri berkelanjutan adalah sebagai berikut:

  • Layanan interaksi pelanggan yang dipersonalisasi: gunakan AI generatif untuk membuat pesan yang disesuaikan untuk setiap interaksi pelanggan.
  • Deteksi anomali: bangun solusi yang memungkinkan Anda melakukan deteksi anomali dan ancaman pada data yang kompleks secara real time, sehingga Anda dapat bereaksi terhadap masalah dengan lebih cepat.
  • Pipeline berbasis peristiwa yang dapat disesuaikan: gunakan integrasi kueri berkelanjutan dengan Pub/Sub untuk memicu aplikasi downstream berdasarkan data yang masuk.
  • Pengayaan data dan ekstraksi entity: gunakan kueri berkelanjutan untuk melakukan pengayaan dan transformasi data real-time menggunakan fungsi SQL dan model ML.
  • Reverse extract-transform-load (ETL): melakukan reverse ETL real-time ke sistem penyimpanan lain yang lebih cocok untuk penyaluran aplikasi latensi rendah. Misalnya, menganalisis atau meningkatkan kualitas data peristiwa yang ditulis ke BigQuery, lalu men-streaming-nya ke Bigtable, Spanner, atau tabel terkelola Apache Iceberg untuk penyajian aplikasi.
  • Pemicuan agen otonom: memicu pipeline data agentic secara real-time berdasarkan peristiwa kompleks yang terdeteksi dalam streaming data live. Sebagai contoh, lihat Codelab Membangun Agen Data Berbasis Peristiwa dengan BigQuery dan Agent Development Kit (ADK).
  • Pemantauan agen otonom: kembangkan pemantauan dan pemberitahuan otomatis real-time untuk interaksi agentic real-time menggunakan plugin analisis agen BigQuery, yang melakukan streaming semua data pelacakan agen, penggunaan alat, dan log operasional langsung ke BigQuery untuk kemampuan observasi mendalam terhadap tenaga kerja AI Anda.

Fungsi yang didukung

Operasi berikut didukung dalam kueri berkelanjutan:

Operasi stateful yang didukung

Untuk meminta dukungan atau memberikan masukan terkait fitur ini, kirim email ke bq-continuous-queries-feedback@google.com.

Operasi stateful memungkinkan kueri berkelanjutan melakukan analisis kompleks yang memerlukan penyimpanan informasi di beberapa baris atau interval waktu. Meskipun fungsi stateless memproses setiap baris secara independen, operasi stateful mempertahankan status data yang diserap untuk mendukung fungsi seperti JOIN, agregasi, dan agregasi jendela. Kemampuan ini memungkinkan Anda menghubungkan peristiwa dari berbagai aliran data atau menghitung metrik dari waktu ke waktu—seperti rata-rata 30 menit—dengan menyimpan data yang diperlukan dalam memori saat kueri berjalan.

Kueri berkelanjutan mendukung operasi stateful berikut:

Otorisasi

Google Cloud Token akses yang digunakan saat menjalankan tugas kueri berkelanjutan memiliki time to live (TTL) dua hari saat dibuat oleh akun pengguna. Oleh karena itu, tugas tersebut berhenti berjalan setelah dua hari. Token akses yang dihasilkan oleh akun layanan dapat berjalan lebih lama, tetapi harus tetap mematuhi runtime kueri maksimum. Untuk mengetahui informasi selengkapnya, lihat Menjalankan kueri berkelanjutan menggunakan akun layanan.

Lokasi

Untuk mengetahui daftar wilayah yang didukung, lihat Lokasi kueri berkelanjutan BigQuery.

Batasan

Kueri berkelanjutan tunduk pada batasan berikut:

Batasan pemesanan

  • Anda harus membuat pemesanan edisi Enterprise atau Enterprise Plus dengan jenis penetapan CONTINUOUS untuk menjalankan kueri berkelanjutan. Kueri berkelanjutan tidak mendukung model penagihan komputasi on-demand.
  • Saat Anda membuat penetapan pemesanan CONTINUOUS, pemesanan terkait dibatasi hingga maksimum 500 slot. Anda dapat meminta peningkatan batas ini dengan menghubungi bq-continuous-queries-feedback@google.com.
  • Anda tidak dapat membuat penetapan pemesanan yang menggunakan jenis tugas yang berbeda dalam pemesanan yang sama dengan penetapan pemesanan kueri berkelanjutan.
  • BigQuery menentukan jumlah kueri berkelanjutan yang dapat dijalankan secara serentak per project berdasarkan ukuran penetapan pemesanan yang dikonfigurasi yang menggunakan jenis tugas CONTINUOUS. Untuk menerima tugas baru, BigQuery memerlukan nilai minimum 10 slot per tugas kueri berkelanjutan. Kueri tidak selalu menggunakan semua 10 slot selama eksekusi normal. Nilai minimum ini memastikan setiap kueri berkelanjutan yang berjalan mempertahankan kapasitas komputasi dasar pengukuran yang cukup untuk menangani lonjakan volume data masuk yang tiba-tiba tanpa tertinggal atau mengorbankan pemrosesan latensi rendah.

    Untuk memastikan kueri Anda berhasil diterima tanpa mencapai batas konkurensi, sebaiknya gunakan penskalaan otomatis slot. Dengan penskalaan otomatis, keseluruhan penggunaan slot Anda akan diskalakan secara dinamis berdasarkan permintaan resource yang sebenarnya. Anda dapat mengonfigurasi pemesanan dasar pengukuran yang lebih kecil dan menetapkan batas penskalaan otomatis maksimum yang dengan mudah mencakup batas 10 slot per kueri untuk kueri serentak yang Anda harapkan.

  • Saat menjalankan beberapa kueri berkelanjutan menggunakan pemesanan yang sama, masing-masing tugas mungkin tidak membagi resource yang tersedia secara adil, seperti yang ditentukan oleh keadilan BigQuery.

Penskalaan otomatis slot

Kueri berkelanjutan dapat menggunakan penskalaan otomatis slot untuk menskalakan kapasitas yang dialokasikan secara dinamis guna mengakomodasi workload Anda. Saat workload kueri berkelanjutan Anda meningkat atau menurun, BigQuery akan menyesuaikan slot Anda secara dinamis.

Setelah kueri berkelanjutan mulai berjalan, kueri tersebut akan secara aktif memproses data yang masuk, yang menggunakan resource slot. Meskipun pemesanan dengan kueri berkelanjutan yang berjalan tidak akan diperkecil skalanya menjadi nol slot, kueri berkelanjutan yang tidak ada aktivitas dan terutama memproses data yang masuk diperkirakan akan menggunakan jumlah slot minimal, biasanya sekitar 1 slot.

Berbagi slot tidak ada aktivitas

Kueri berkelanjutan dapat menggunakan berbagi slot tidak ada aktivitas untuk berbagi resource slot yang tidak digunakan dengan pemesanan dan jenis tugas lainnya.

  • Penetapan pemesanan CONTINUOUS masih diperlukan untuk menjalankan kueri berkelanjutan dan tidak dapat hanya mengandalkan slot tidak ada aktivitas dari pemesanan lain. Oleh karena itu, penetapan pemesanan CONTINUOUS memerlukan konfigurasi dasar pengukuran slot bukan nol atau konfigurasi penskalaan otomatis slot bukan nol.
  • Hanya slot dasar pengukuran atau slot yang di-commit yang tidak ada aktivitas dari penetapan pemesanan CONTINUOUS yang dapat dibagikan. Slot yang diskalakan otomatis tidak dapat dibagikan sebagai slot tidak ada aktivitas untuk pemesanan lain.

Harga

Kueri berkelanjutan dapat menggunakan penskalaan fleksibel BigQuery.

Kueri berkelanjutan menggunakan harga komputasi kapasitas BigQuery, yang diukur dalam slot. Untuk menjalankan kueri berkelanjutan, Anda harus memiliki pemesanan yang menggunakan edisi Enterprise atau Enterprise Plus, dan penetapan pemesanan yang menggunakan jenis tugas CONTINUOUS.

Penggunaan resource BigQuery lainnya, seperti penyerapan dan penyimpanan data, dikenai biaya sesuai tarif yang ditampilkan di harga BigQuery.

Penggunaan layanan lain yang menerima hasil kueri berkelanjutan atau yang dipanggil selama pemrosesan kueri berkelanjutan akan dikenai biaya sesuai tarif yang dipublikasikan untuk layanan tersebut. Untuk mengetahui harga layanan Google Cloud lain yang digunakan oleh kueri berkelanjutan, lihat topik berikut:

Memperkirakan persyaratan kapasitas slot

Karena setiap workload berbeda, estimasi slot yang tepat untuk kueri berkelanjutan sering kali tidak dapat dilakukan di awal. Jumlah slot yang diperlukan oleh kueri berkelanjutan Anda bergantung pada kombinasi beberapa faktor:

  • Jumlah kueri berkelanjutan yang berjalan secara serentak.
  • Kompleksitas pernyataan SQL.
  • Penggunaan fungsi pemrosesan stateful termasuk durasi jendela, JOIN, dan agregasi.
  • Kecepatan atau laju data yang masuk.
  • Struktur dan ukuran data yang diserap.

Secara konseptual, Anda dapat memperkirakan total persyaratan slot sebagai fungsi dari workload kueri berkelanjutan:

Estimasi Slot ≈ Jumlah kueri berkelanjutan x ∑ (Kecepatan data x Kompleksitas kueri)

Karena konsumsi slot yang sebenarnya sangat bergantung pada workload dan pola data unik Anda, metode paling akurat untuk memperkirakan biaya adalah dengan memantau tugas yang sedang berjalan. Anda dapat mengukur penggunaan slot puncak dari operasi kueri berkelanjutan yang terisolasi menggunakan tampilan INFORMATION_SCHEMA. Untuk mengetahui petunjuk mendetail dan contoh kueri untuk melacak penggunaan slot dari waktu ke waktu, lihat Melihat informasi pemakaian slot.

Langkah berikutnya

Coba buat kueri berkelanjutan.