Introduzione alle query continue

Questo documento descrive le query continue di BigQuery.

Le query continue di BigQuery sono istruzioni SQL eseguite ininterrottamente. Le query continue ti consentono di analizzare i dati in arrivo in BigQuery in tempo reale. Puoi inserire le righe di output prodotte da una query continua in una tabella BigQuery o esportarle in Pub/Sub, Bigtable o Spanner. Le query continue possono elaborare i dati scritti nelle tabelle BigQuery standard utilizzando uno dei seguenti metodi:

Puoi utilizzare le query continue per eseguire attività sensibili al tempo, ad esempio creare e agire immediatamente in base agli insight, applicare l'inferenza di machine learning (ML) in tempo reale e replicare i dati in altre piattaforme. In questo modo puoi utilizzare BigQuery come motore di elaborazione dei dati basato su eventi per la logica decisionale della tua applicazione.

Il seguente diagramma mostra i flussi di lavoro comuni per le query continue:

Diagramma che illustra i flussi di lavoro comuni delle query continue BigQuery, tra cui l'importazione dati, l'elaborazione e l'esportazione dei dati in destinazioni come Bigtable e Pub/Sub.

Casi d'uso

Ecco alcuni casi d'uso comuni in cui potresti voler utilizzare le query continue:

  • Servizi di interazione con i clienti personalizzati: utilizza l'AI generativa per creare messaggi personalizzati per ogni interazione con i clienti.
  • Rilevamento delle anomalie: crea soluzioni che ti consentono di eseguire il rilevamento di anomalie e minacce su dati complessi in tempo reale, in modo da poter reagire più rapidamente ai problemi.
  • Pipeline basate su eventi personalizzabili: utilizza l'integrazione di query continua con Pub/Sub per attivare applicazioni downstream in base ai dati in entrata.
  • Arricchimento dei dati ed estrazione delle entità: utilizza query continue per eseguire l'arricchimento e la trasformazione dei dati in tempo reale utilizzando funzioni SQL e modelli di machine learning.
  • Estrazione, trasformazione e caricamento (ETL) inversi: esegui l'ETL inversa in tempo reale in altri sistemi di archiviazione più adatti per la pubblicazione di applicazioni a bassa latenza. Ad esempio, analizzare o migliorare i dati degli eventi scritti in BigQuery e poi trasmetterli in streaming a Bigtable o Spanner per la pubblicazione delle applicazioni.
  • Attivazione autonoma degli agenti: attiva pipeline di dati agentici in tempo reale in base a eventi complessi rilevati nei flussi di dati live. Per un esempio, consulta il codelab Crea un agente di dati basato su eventi con BigQuery e Agent Development Kit (ADK).
  • Monitoraggio autonomo degli agenti: sviluppa il monitoraggio e gli avvisi automatizzati in tempo reale per le interazioni agentiche in tempo reale utilizzando il plug-in di analisi degli agenti BigQuery, che trasmette in streaming tutti i dati di traccia degli agenti, l'utilizzo degli strumenti e i log operativi direttamente in BigQuery per una visibilità approfondita della tua forza lavoro AI.

Funzionalità supportata

Le seguenti operazioni sono supportate nelle query continue:

Operazioni stateful supportate

Per richiedere assistenza o fornire un feedback su questa funzionalità, invia un'email all'indirizzo bq-continuous-queries-feedback@google.com.

Le operazioni con stato consentono alle query continue di eseguire analisi complesse che richiedono la conservazione delle informazioni in più righe o intervalli di tempo. Mentre le funzioni stateless elaborano ogni riga in modo indipendente, le operazioni stateful mantengono lo stato dei dati importati per supportare funzioni come JOIN, aggregazioni e aggregazioni di finestre. Questa funzionalità ti consente di correlare eventi di stream diversi o calcolare metriche nel tempo, ad esempio una media di 30 minuti, memorizzando i dati necessari nella memoria durante l'esecuzione della query.

Le query continue supportano le seguenti operazioni con stato:

Autorizzazione

I token di accesso utilizzati durante l'esecuzione dei job di query continua hanno una durata (TTL) di due giorni quando vengono generati da un account utente.Google Cloud Pertanto, questi job smettono di essere eseguiti dopo due giorni. I token di accesso generati dagli account di servizio possono essere eseguiti più a lungo, ma devono comunque rispettare il runtime massimo delle query. Per saperne di più, consulta Eseguire una query continua utilizzando un service account.

Località

Per un elenco delle regioni supportate, vedi Località delle query continue di BigQuery.

Limitazioni

Le query continue sono soggette alle seguenti limitazioni:

Limitazioni delle prenotazioni

  • Per eseguire query continue, devi creare prenotazioni per la versione Enterprise o Enterprise Plus. Le query continue non supportano il modello di fatturazione di calcolo on demand.
  • Quando crei un CONTINUOUS assegnazione di prenotazione, la prenotazione associata è limitata a un massimo di 500 slot. Puoi richiedere un aumento di questo limite contattando bq-continuous-queries-feedback@google.com.
  • Non puoi creare un'assegnazione di prenotazione che utilizzi un tipo di prestazione diverso nella stessa prenotazione di un'assegnazione di prenotazione di query continua.
  • Non puoi configurare la concorrenza delle query continue. BigQuery determina automaticamente il numero di query continue che possono essere eseguite contemporaneamente in base alle assegnazioni di prenotazione disponibili che utilizzano il tipo di prestazione CONTINUOUS.
  • Quando esegui più query continue utilizzando la stessa prenotazione, i singoli job potrebbero non dividere equamente le risorse disponibili, come definito da BigQuery fairness.

Scalabilità automatica degli slot

Le query continue possono utilizzare la scalabilità automatica degli slot per scalare dinamicamente la capacità allocata in base al workload. Man mano che il carico di lavoro delle query continue aumenta o diminuisce, BigQuery regola dinamicamente gli slot.

Una volta avviata, una query continua ascolta attivamente i dati in arrivo, che consumano risorse slot. Mentre una prenotazione con una query continua in esecuzione non viene fare lo scale down a zero slot, una query continua inattiva che ascolta principalmente i dati in arrivo dovrebbe consumare una quantità minima di slot, in genere circa 1 slot.

Condivisione di slot inattivi

Le query continue possono utilizzare la condivisione degli slot inattivi per condividere le risorse degli slot inutilizzati con altre prenotazioni e tipi di job.

  • Per eseguire una query continua è ancora necessario un CONTINUOUS assegnazione di prenotazione e non è possibile fare affidamento esclusivamente sugli slot inattivi di altre prenotazioni. Pertanto, un'assegnazione di prenotazione CONTINUOUS richiede una base di riferimento di slot diversa da zero o una configurazione di scalabilità automatica di slot diversa da zero.
  • Sono condivisibili solo gli slot di riferimento inattivi o gli slot impegnati di un'assegnazione di prenotazione CONTINUOUS. Gli slot scalati automaticamente non sono condivisibili come slot inattivi per altre prenotazioni.

Prezzi

Le query continue utilizzano i prezzi di calcolo della capacità di BigQuery, che vengono misurati in slot. Per eseguire query continue, devi disporre di una prenotazione che utilizzi Enterprise o Enterprise Plus e di un assegnazione di prenotazione che utilizzi il tipo di prestazione CONTINUOUS.

L'utilizzo di altre risorse BigQuery, come l'importazione e l'archiviazione dei dati, viene addebitato alle tariffe indicate nei prezzi di BigQuery.

L'utilizzo di altri servizi che ricevono risultati di query continua o che vengono chiamati durante l'elaborazione di query continua viene addebitato alle tariffe pubblicate per questi servizi. Per i prezzi di altri servizi Google Cloud utilizzati dalle query continue, consulta i seguenti argomenti:

Passaggi successivi

Prova a creare una query continua.