Introducción a las consultas continuas

En este documento se describen las consultas continuas de BigQuery.

Las consultas continuas de BigQuery son instrucciones SQL que se ejecutan de forma continua. Las consultas continuas te permiten analizar los datos entrantes en BigQuery en tiempo real. Puede insertar las filas de salida generadas por una consulta continua en una tabla de BigQuery o exportarlas a Pub/Sub, Bigtable o Spanner. Las consultas continuas pueden procesar datos que se han escrito en tablas estándar de BigQuery mediante uno de los siguientes métodos:

Puedes usar consultas continuas para realizar tareas urgentes, como crear estadísticas y actuar en consecuencia de inmediato, aplicar inferencias de aprendizaje automático (ML) en tiempo real y replicar datos en otras plataformas. De esta forma, puedes usar BigQuery como motor de procesamiento de datos basado en eventos para la lógica de decisión de tu aplicación.

En el siguiente diagrama se muestran los flujos de trabajo habituales de las consultas continuas:

Diagrama que ilustra los flujos de trabajo comunes de las consultas continuas de BigQuery, incluida la ingestión, el procesamiento y la exportación de datos a destinos como Bigtable y Pub/Sub.

Casos prácticos

Estos son algunos casos prácticos habituales en los que puede ser útil usar consultas continuas:

  • Servicios de interacción personalizada con los clientes: usa la IA generativa para crear mensajes personalizados para cada interacción con los clientes.
  • Detección de anomalías: crea soluciones que te permitan detectar anomalías y amenazas en datos complejos en tiempo real para que puedas reaccionar ante los problemas más rápido.
  • Pipelines basados en eventos personalizables: usa la integración de consultas continuas con Pub/Sub para activar aplicaciones posteriores en función de los datos entrantes.
  • Enriquecimiento de datos y extracción de entidades: usa consultas continuas para enriquecer y transformar datos en tiempo real mediante funciones de SQL y modelos de aprendizaje automático.
  • Proceso de extracción, transformación y carga (ETL) inverso: realiza procesos de ETL inversos en tiempo real en otros sistemas de almacenamiento más adecuados para el servicio de aplicaciones de baja latencia. Por ejemplo, analizar o mejorar los datos de eventos que se escriben en BigQuery y, a continuación, transmitirlos a Bigtable o Spanner para que los use la aplicación.

Operaciones admitidas

Las siguientes operaciones se admiten en las consultas continuas:

  • Ejecutar instrucciones INSERT para escribir datos de una consulta continua en una tabla de BigQuery.
  • Ejecutar instrucciones EXPORT DATA para publicar la salida de la consulta continua en temas de Pub/Sub. Para obtener más información, consulta Exportar datos a Pub/Sub.

    Desde un tema de Pub/Sub, puedes usar los datos con otros servicios, como realizar analíticas en tiempo real con Dataflow o usar los datos en un flujo de trabajo de integración de aplicaciones.

  • Ejecutar instrucciones EXPORT DATA para exportar datos de BigQuery a tablas de Bigtable. Para obtener más información, consulta el artículo Exportar datos a Bigtable.

  • Ejecutar instrucciones EXPORT DATA para exportar datos de BigQuery a tablas de Spanner. Para obtener más información, consulta el artículo Exportar datos a Spanner (ETL inverso).

  • Llamar a la siguiente función de IA generativa:

    Para usar esta función, debes tener un modelo remoto de BigQuery ML sobre un modelo de Vertex AI.

  • Llamar a las siguientes funciones de IA:

    Para usar estas funciones, debes tener un modelo remoto de BigQuery ML en una API de Cloud AI.

  • Normalizar datos numéricos mediante la función ML.NORMALIZER.

  • Usar funciones de GoogleSQL sin estado, como las funciones de conversión. En las funciones sin estado, cada fila se procesa de forma independiente de las demás filas de la tabla.

  • Usar la función de historial de cambios APPENDS para iniciar el procesamiento continuo de consultas desde un momento específico.

Autorización

Los Google Cloud tokens de acceso que se usan al ejecutar trabajos de consulta continua tienen un tiempo de vida (TTL) de dos días cuando los genera una cuenta de usuario. Por lo tanto, estas tareas dejan de ejecutarse al cabo de dos días. Los tokens de acceso que generan las cuentas de servicio pueden durar más, pero deben seguir cumpliendo el tiempo de ejecución máximo de las consultas. Para obtener más información, consulta Ejecutar una consulta continua con una cuenta de servicio.

Ubicaciones

Las consultas continuas se admiten en las siguientes ubicaciones:

Descripción de la región Nombre de la región Detalles
América
Multirregional de EE. UU. us
Dallas us-south1 icono de una hoja CO2 bajo
Iowa us-central1 icono de una hoja CO2 bajo
Los Ángeles us-west2
México northamerica-south1
Montreal northamerica-northeast1 icono de una hoja CO2 bajo
Norte de Virginia us-east4
Oregón us-west1 icono de una hoja CO2 bajo
Salt Lake City us-west3
São Paulo southamerica-east1 icono de una hoja CO2 bajo
Carolina del Sur us-east1
Toronto northamerica-northeast2 icono de una hoja CO2 bajo
Asia‑Pacífico
Deli asia-south2
Hong Kong asia-east2
Yakarta asia-southeast2
Melbourne australia-southeast2
Bombay asia-south1
Osaka asia-northeast2
Seúl asia-northeast3
Singapur asia-southeast1
Sídney australia-southeast1
Taiwán asia-east1
Tokio asia-northeast1
Europa
Multirregional de la UE eu
Bélgica europe-west1 icono de una hoja CO2 bajo
Berlín europe-west10 icono de una hoja CO2 bajo
Finlandia europe-north1 icono de una hoja CO2 bajo
Fráncfort europe-west3
Londres europe-west2 icono de una hoja CO2 bajo
Madrid europe-southwest1 icono de una hoja CO2 bajo
Milán europe-west8
Países Bajos europe-west4 icono de una hoja CO2 bajo
París europe-west9 icono de una hoja CO2 bajo
Estocolmo europe-north2 icono de una hoja CO2 bajo
Turín europe-west12
Varsovia europe-central2
Zúrich europe-west6 icono de una hoja CO2 bajo
Oriente Medio
Doha me-central1
Dammam me-central2
Tel Aviv me-west1
África
Johannesburgo africa-south1

Limitaciones

Las consultas continuas están sujetas a las siguientes limitaciones:

Limitaciones de las reservas

  • Para ejecutar consultas continuas, debes crear reservas de la edición Enterprise o Enterprise Plus. Las consultas continuas no admiten el modelo de facturación de computación bajo demanda.
  • Cuando creas una CONTINUOUS asignación de reserva, la reserva asociada se limita a un máximo de 500 ranuras. Puedes solicitar un aumento de este límite poniéndote en contacto con bq-continuous-queries-feedback@google.com.
  • No puedes crear una asignación de reserva que use un tipo de trabajo diferente en la misma reserva que una asignación de reserva de consulta continua.
  • No puedes configurar la simultaneidad de consultas continuas. BigQuery determina automáticamente el número de consultas continuas que se pueden ejecutar simultáneamente en función de las asignaciones de reserva disponibles que usen el tipo de tarea CONTINUOUS.
  • Cuando se ejecutan varias consultas continuas con la misma reserva, es posible que los trabajos individuales no dividan los recursos disponibles de forma equitativa, tal como se define en la equidad de BigQuery.

Autoescalado de ranuras

Las consultas continuas pueden usar el autoescalado de ranuras para escalar dinámicamente la capacidad asignada y adaptarse a tu carga de trabajo. A medida que aumenta o disminuye la carga de trabajo de tus consultas continuas, BigQuery ajusta dinámicamente tus slots.

Una vez que se empieza a ejecutar una consulta continua, escucha activamente los datos entrantes, lo que consume recursos de ranura. Aunque una reserva con una consulta continua en ejecución no se reduce a cero ranuras, se espera que una consulta continua inactiva que principalmente esté escuchando datos entrantes consuma una cantidad mínima de ranuras, normalmente alrededor de 1.

Compartir intervalos inactivos

Las consultas continuas pueden usar la función de compartir ranuras inactivas para compartir recursos de ranuras sin usar con otras reservas y tipos de tareas.

  • Para ejecutar una consulta continua, sigue siendo necesario CONTINUOUS asignar una reserva y no se puede depender únicamente de las ranuras inactivas de otras reservas. Por lo tanto, una CONTINUOUS asignación de reserva requiere una base de referencia de franja horaria distinta de cero o una configuración de autoescalado de franja horaria distinta de cero.
  • Solo se pueden compartir las ranuras de referencia inactivas o las ranuras confirmadas de una asignación de reserva CONTINUOUS. Las ranuras con escalado automático no se pueden compartir como ranuras inactivas para otras reservas.

Precios

Las consultas continuas usan la tarifa de computación de capacidad de BigQuery, que se mide en ranuras. Para ejecutar consultas continuas, debes tener una reserva que use la edición Enterprise o Enterprise Plus y una asignación de reserva que use el tipo de trabajo CONTINUOUS.

El uso de otros recursos de BigQuery, como la ingesta y el almacenamiento de datos, se cobra según las tarifas que se indican en la página de precios de BigQuery.

El uso de otros servicios que reciben resultados de consultas continuas o que se llaman durante el procesamiento de consultas continuas se cobra según las tarifas publicadas para esos servicios. Para consultar los precios de otros Google Cloud servicios que usan las consultas continuas, consulta los siguientes temas:

Siguientes pasos

Prueba a crear una consulta continua.