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 menyisipkan baris output yang dihasilkan oleh kueri berkelanjutan ke dalam tabel BigQuery atau mengekspornya ke Pub/Sub atau Bigtable. Kueri berkelanjutan dapat memproses data yang telah ditulis ke tabel BigQuery standar menggunakan salah satu metode berikut:
Anda dapat menggunakan kueri berkelanjutan untuk melakukan tugas yang sensitif terhadap waktu, 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:
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: gunakan 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 dengan menggunakan fungsi SQL dan model ML.
- ETL terbalik (reverse ETL): melakukan ETL terbalik real-time ke sistem penyimpanan lain yang lebih cocok untuk penayangan aplikasi latensi rendah. Misalnya, menganalisis atau meningkatkan kualitas data peristiwa yang ditulis ke BigQuery, lalu melakukan streaming ke Bigtable untuk penayangan aplikasi.
Operasi yang didukung
Operasi berikut didukung dalam kueri berkelanjutan:
- Menjalankan
pernyataan
INSERT
untuk menulis data dari kueri berkelanjutan ke dalam tabel BigQuery. Menjalankan pernyataan
EXPORT DATA
untuk memublikasikan output kueri berkelanjutan ke topik Pub/Sub. Untuk informasi selengkapnya, lihat Mengekspor data ke Pub/Sub.Dari topik Pub/Sub, Anda dapat menggunakan data dengan layanan lain, seperti melakukan analisis streaming menggunakan Dataflow, atau menggunakan data dalam alur kerja integrasi aplikasi.
Menjalankan pernyataan
EXPORT DATA
untuk mengekspor data dari BigQuery ke tabel Bigtable. Untuk mengetahui informasi selengkapnya, lihat Mengekspor data ke Bigtable.Memanggil fungsi AI generatif berikut:
Fungsi ini mengharuskan Anda memiliki model jarak jauh BigQuery ML di atas model Vertex AI.
Memanggil fungsi AI berikut:
Fungsi ini mengharuskan Anda memiliki model jarak jauh BigQuery ML melalui Cloud AI API.
Menormalisasi data numerik menggunakan fungsi
ML.NORMALIZER
.Menggunakan fungsi GoogleSQL stateless—misalnya, fungsi konversi. Dalam fungsi stateless, setiap baris diproses secara terpisah dari baris lain dalam tabel.
Menggunakan fungsi histori perubahan
APPENDS
untuk memulai pemrosesan kueri berkelanjutan dari titik waktu tertentu.
Otorisasi
Token aksesGoogle Cloud yang digunakan saat menjalankan tugas kueri berkelanjutan memiliki time to live (TTL) selama dua hari saat 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
Kueri berkelanjutan didukung di lokasi berikut:
Deskripsi region | Nama region | Detail | |
---|---|---|---|
Amerika | |||
Iowa | us-central1 |
|
|
Montréal | northamerica-northeast1 |
|
|
Northern Virginia | us-east4 |
||
Oregon | us-west1 |
|
|
Salt Lake City | us-west3 |
||
Sao Paulo | southamerica-east1 |
|
|
Carolina Selatan | us-east1 |
||
Multi-region AS | us |
||
Asia Pasifik | |||
Delhi | asia-south2 |
||
Hong Kong | asia-east2 |
||
Jakarta | asia-southeast2 |
||
Mumbai | asia-south1 |
||
Seoul | asia-northeast3 |
||
Singapura | asia-southeast1 |
||
Sydney | australia-southeast1 |
||
Taiwan | asia-east1 |
||
Tokyo | asia-northeast1 |
||
Eropa | |||
Belgia | europe-west1 |
|
|
Multi-region Uni Eropa | eu |
||
Frankfurt | europe-west3 |
|
|
London | europe-west2 |
|
|
Belanda | europe-west4 |
|
Batasan
Kueri berkelanjutan tunduk pada batasan berikut:
- Kueri berkelanjutan BigQuery tidak mempertahankan status data yang di-ingest. Operasi umum yang mengandalkan status, seperti
JOIN
, fungsi agregasi, atau fungsi jendela, tidak didukung. Anda tidak dapat menggunakan kemampuan SQL berikut dalam kueri berkelanjutan:
- Operasi
JOIN
- Fungsi agregat
- Fungsi agregat perkiraan
Klausa kueri berikut:
Operator kueri berikut:
Operator set kueri
Pernyataan
SELECT DISTINCT
Fungsi BigQuery ML selain yang tercantum dalam Operasi yang didukung
Pernyataan bahasa manipulasi data (DML) kecuali
INSERT
.Pernyataan
EXPORT DATA
yang tidak menargetkan Bigtable atau Pub/Sub
- Operasi
Kueri berkelanjutan tidak mendukung pemrosesan data Change Data Capture (CDC) upsert.
Kueri berkelanjutan tidak mendukung tabel karakter pengganti sebagai sumber data.
Kueri berkelanjutan tidak mendukung tabel eksternal sebagai sumber data.
Kueri berkelanjutan tidak mendukung tabel virtual INFORMATION_SCHEMA sebagai sumber data.
Kueri berkelanjutan tidak mendukung tabel BigLake untuk Apache Iceberg di BigQuery.
Kueri berkelanjutan tidak mendukung fitur keamanan BigQuery berikut:
Saat mengekspor data ke Bigtable, Anda hanya dapat menargetkan instance Bigtable yang berada dalam batas regionalGoogle Cloud yang sama dengan set data BigQuery yang berisi tabel yang Anda kueri. Untuk mengetahui informasi selengkapnya, lihat Pertimbangan lokasi. Pembatasan ini tidak berlaku untuk mengekspor data ke Pub/Sub karena Pub/Sub adalah resource global.
Anda tidak dapat menjalankan kueri berkelanjutan dari kanvas data.
Anda tidak dapat mengubah SQL yang digunakan dalam kueri berkelanjutan saat tugas kueri berkelanjutan sedang berjalan. Untuk mengetahui informasi selengkapnya, lihat Mengubah SQL kueri berkelanjutan.
Jika tugas kueri berkelanjutan tertinggal dalam memproses data yang masuk dan memiliki keterlambatan tanda air output lebih dari 48 jam, tugas tersebut akan gagal. Anda dapat menjalankan kueri lagi dan menggunakan fungsi histori perubahan
APPENDS
untuk melanjutkan pemrosesan dari titik waktu saat Anda menghentikan tugas kueri berkelanjutan sebelumnya. Untuk mengetahui informasi selengkapnya, lihat Memulai kueri berkelanjutan dari titik waktu tertentu.Kueri berkelanjutan yang dikonfigurasi dengan akun pengguna dapat berjalan hingga dua hari. Kueri berkelanjutan yang dikonfigurasi dengan akun layanan dapat berjalan hingga 150 hari. Saat runtime kueri maksimum tercapai, kueri akan gagal dan berhenti memproses data yang masuk.
Meskipun kueri berkelanjutan dibuat menggunakan fitur keandalan BigQuery, masalah sementara sesekali dapat terjadi. Masalah dapat menyebabkan sejumlah pemrosesan ulang otomatis kueri berkelanjutan Anda, yang dapat mengakibatkan data duplikat dalam output kueri berkelanjutan. Desain sistem hilir Anda untuk menangani skenario tersebut.
Batasan reservasi
- Anda harus membuat reservasi edisi Enterprise atau Enterprise Plus untuk menjalankan kueri berkelanjutan. Kueri berkelanjutan tidak mendukung model penagihan komputasi sesuai permintaan.
- 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. - Penetapan reservasi kueri berkelanjutan tidak membagikan slot tidak ada aktivitas, meskipun reservasi dikonfigurasi untuk melakukannya.
- Anda tidak dapat membuat penetapan pemesanan yang menggunakan jenis tugas yang berbeda dalam pemesanan yang sama dengan penetapan pemesanan kueri berkelanjutan.
- Anda tidak dapat mengonfigurasi konkurensi kueri berkelanjutan. BigQuery secara otomatis menentukan jumlah kueri berkelanjutan yang dapat dijalankan secara serentak, berdasarkan penetapan reservasi yang tersedia yang menggunakan jenis tugas
CONTINUOUS
. - 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 diskalakan ke nol slot, kueri berkelanjutan yang tidak aktif dan terutama memproses data masuk diperkirakan akan menggunakan sejumlah kecil slot, biasanya sekitar 1 slot.
Harga
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, ditagih sesuai tarif yang ditampilkan di harga BigQuery.
Penggunaan layanan lain yang menerima hasil kueri berkelanjutan atau yang dipanggil selama pemrosesan kueri berkelanjutan akan ditagih sesuai tarif yang dipublikasikan untuk layanan tersebut. Untuk mengetahui harga layanan lain yang digunakan oleh kueri berkelanjutan, lihat topik berikut: Google Cloud
Langkah berikutnya
Coba membuat kueri berkelanjutan.