Pengantar kueri berkelanjutan

Dokumen ini menjelaskan kueri berkelanjutan BigQuery.

Kueri berkelanjutan BigQuery adalah pernyataan SQL yang berjalan secara berkelanjutan. Kueri berkelanjutan memungkinkan Anda 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 dengan menggunakan salah satu metode berikut:

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

Diagram berikut menunjukkan alur kerja kueri berkelanjutan umum:

Diagram yang menggambarkan alur kerja kueri berkelanjutan BigQuery 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 kompleks secara real time, sehingga Anda dapat bereaksi terhadap masalah dengan lebih cepat.
  • Pipeline berbasis peristiwa yang dapat disesuaikan: menggunakan integrasi kueri berkelanjutan dengan Pub/Sub untuk memicu aplikasi hilir berdasarkan data yang masuk.
  • Pengayaan data dan ekstraksi entitas: 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 melakukan streaming ke tabel yang dikelola Bigtable, Spanner, atau Apache Iceberg untuk penayangan aplikasi.
  • Pemicuan agen otonom: memicu pipeline data agentic secara real-time berdasarkan peristiwa kompleks yang terdeteksi dalam aliran data langsung. 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 rekaman aktivitas 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 di-ingest untuk mendukung fungsi seperti JOIN, agregasi, dan agregasi jendela. Kemampuan ini memungkinkan Anda mengorelasikan peristiwa dari aliran yang berbeda 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) selama dua hari jika dibuat oleh akun pengguna. Oleh karena itu, tugas tersebut berhenti berjalan setelah dua hari. Token akses yang dibuat oleh akun layanan dapat berjalan lebih lama, tetapi tetap harus 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 reservasi

  • Anda harus membuat reservasi 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 CONTINUOUS penetapan pemesanan, pemesanan terkait dibatasi hingga maksimal 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 yang dikonfigurasi dari penetapan reservasi 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 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, penggunaan slot secara keseluruhan akan diskalakan secara dinamis berdasarkan permintaan resource sebenarnya. Anda dapat mengonfigurasi reservasi dasar pengukuran yang lebih kecil dan menetapkan batas penskalaan otomatis maksimum yang secara nyaman mencakup 10 slot per batas kueri untuk kueri serentak yang diharapkan.

  • Saat menjalankan beberapa kueri berkelanjutan menggunakan reservasi yang sama, setiap tugas mungkin tidak membagi resource yang tersedia secara adil, sebagaimana 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 beban kerja kueri berkelanjutan Anda meningkat atau menurun, BigQuery secara dinamis menyesuaikan slot Anda.

Setelah kueri berkelanjutan mulai berjalan, kueri akan secara aktif memproses data yang masuk, yang menggunakan resource slot. Meskipun reservasi dengan kueri berkelanjutan yang sedang berjalan tidak diperkecil skalanya ke nol slot, kueri berkelanjutan yang tidak ada aktivitas dan terutama memproses data masuk diperkirakan akan menggunakan sejumlah kecil slot, 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 reservasi CONTINUOUS memerlukan dasar pengukuran slot bukan nol atau konfigurasi penskalaan otomatis slot bukan nol.
  • Hanya slot dasar pengukuran yang tidak ada aktivitas atau slot yang di-commit dari penetapan reservasi CONTINUOUS yang dapat dibagikan. Slot yang diskalakan otomatis tidak dapat dibagikan sebagai slot tidak ada aktivitas untuk reservasi lain.

Harga

Kueri berkelanjutan dapat menggunakan penskalaan lancar 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 penugasan pemesanan yang menggunakan jenis tugas CONTINUOUS.

Penggunaan resource BigQuery lainnya, seperti penyerapan dan penyimpanan data, ditagih 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 di-ingest.

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

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

Karena konsumsi slot aktual sangat bergantung pada pola data dan beban kerja 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 petunjuk mendetail dan contoh kueri guna melacak penggunaan slot dari waktu ke waktu, lihat Melihat informasi pemakaian slot.

Langkah berikutnya

Coba membuat kueri berkelanjutan.