Introducción a las consultas continuas

En este documento, se describen las consultas continuas de BigQuery.

Las consultas continuas de BigQuery son instrucciones de SQL que se ejecutan de forma continua. Las consultas continuas te permiten analizar datos entrantes en BigQuery en tiempo real. Puedes escribir o exportar las filas de resultado que genera una consulta continua a los siguientes destinos:

Las consultas continuas pueden procesar datos que se escribieron en tablas estándar de BigQuery a través de uno de los siguientes métodos:

Puedes usar consultas continuas para realizar tareas urgentes, como crear estadísticas y actuar de inmediato en función de ellas, aplicar inferencias de aprendizaje automático (AA) en tiempo real y replicar datos en otras plataformas. Esto te permite usar BigQuery como un motor de procesamiento de datos controlado por eventos para la lógica de decisión de tu aplicación.

En el siguiente diagrama, se muestran flujos de trabajo comunes de consultas continuas:

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

Casos de uso

Estos son algunos casos de uso comunes en los que tal vez quieras usar consultas continuas:

  • Servicios de interacción personalizada con el cliente: Usa la IA generativa para crear mensajes personalizados para cada interacción con el cliente.
  • Detección de anomalías: Compila soluciones que te permitan realizar la detección de anomalías y amenazas en datos complejos en tiempo real para que puedas reaccionar a los problemas con mayor rapidez.
  • Canalizaciones basadas en eventos personalizables: Usa la integración continua de consultas con Pub/Sub para activar aplicaciones descendentes según los datos entrantes.
  • Enriquecimiento de datos y extracción de entidades: Usa consultas continuas para realizar el enriquecimiento y la transformación de datos en tiempo real con funciones de SQL y modelos de AA.
  • Extracción, transformación y carga inversa (ETL): Realiza ETL inverso en tiempo real en otros sistemas de almacenamiento más adecuados para la entrega de aplicaciones de baja latencia. Por ejemplo, analizar o mejorar los datos de eventos que se escriben en BigQuery y, luego, transmitirlos a Bigtable, Spanner o tablas administradas de Apache Iceberg para la entrega de aplicaciones.
  • Activación autónoma de agentes: Activa canalizaciones de datos basadas en agentes en tiempo real según los eventos complejos detectados en los flujos de datos en vivo. Para ver un ejemplo, consulta el codelab Crea un agente de datos basado en eventos con BigQuery y el Kit de desarrollo de agentes (ADK).
  • Supervisión autónoma de agentes: Desarrolla supervisión y alertas automatizadas en tiempo real para las interacciones de agentes en tiempo real con el complemento de análisis de agentes de BigQuery, que transmite todos los datos de seguimiento de agentes, el uso de herramientas y los registros operativos directamente a BigQuery para obtener una observabilidad profunda de tu personal de IA.

Funcionalidad admitida

Las siguientes operaciones son compatibles con las consultas continuas:

Operaciones con estado admitidas

Para solicitar asistencia o enviar comentarios sobre esta función, envía un correo electrónico a bq-continuous-queries-feedback@google.com.

Las operaciones con estado permiten que las consultas continuas realicen análisis complejos que requieren retener información en varias filas o intervalos de tiempo. Si bien las funciones sin estado procesan cada fila de forma independiente, las operaciones con estado mantienen el estado de los datos ingeridos para admitir funciones como JOINs, agregaciones y agregaciones de ventanas. Esta capacidad te permite correlacionar eventos de diferentes flujos o calcular métricas a lo largo del tiempo (por ejemplo, un promedio de 30 minutos) almacenando los datos necesarios en la memoria mientras se ejecuta la consulta.

Las consultas continuas admiten las siguientes operaciones con estado:

Autorización

Los tokens de acceso deCloud de Confiance que se usan cuando se ejecutan trabajos de consulta continua tienen un tiempo de actividad (TTL) de dos días cuando los genera una cuenta de usuario. Por lo tanto, estos trabajos se dejan de ejecutar después de dos días. Los tokens de acceso que generan las cuentas de servicio pueden ejecutarse durante más tiempo, pero deben cumplir con el tiempo de ejecución máximo de la consulta. Para obtener más información, consulta Ejecuta una consulta continua con una cuenta de servicio.

Ubicaciones

Para obtener una lista de las regiones admitidas, consulta Ubicaciones de las consultas continuas de BigQuery.

Limitaciones

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

Limitaciones de las reservas

  • Debes crear una reserva de la edición Enterprise o Enterprise Plus con un CONTINUOUS tipo de asignación para ejecutar consultas continuas. Las consultas continuas no son compatibles con el modelo de facturación de procesamiento a pedido.
  • Cuando creas una CONTINUOUS asignación de reserva, la reserva asociada se limita a un máximo de 500 ranuras. Para solicitar un aumento de este límite, comunícate 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.
  • BigQuery determina la cantidad de consultas continuas que se pueden ejecutar de forma simultánea por proyecto según el tamaño configurado de la asignación de reserva que usa el tipo de trabajo CONTINUOUS. Para admitir trabajos nuevos, BigQuery requiere un umbral de 10 ranuras por trabajo de consulta continua. La consulta no necesariamente consume las 10 ranuras durante la ejecución normal. Este umbral garantiza que cada consulta continua en ejecución mantenga suficiente capacidad de procesamiento de referencia para controlar los aumentos repentinos en el volumen de datos entrantes sin retrasarse ni comprometer el procesamiento de baja latencia.

    Para asegurarte de que tus consultas se admitan correctamente sin alcanzar los límites de simultaneidad, te recomendamos que uses el ajuste de escala automático de ranuras. Con el ajuste de escala automático, el uso general de ranuras se ajustará dinámicamente según la demanda real de recursos. Puedes configurar una reserva de referencia más pequeña y establecer un límite máximo de ajuste de escala automático que cubra cómodamente el umbral de 10 ranuras por consulta para las consultas simultáneas esperadas.

  • Cuando se ejecutan varias consultas continuas con la misma reserva, es posible que los trabajos individuales no dividan los recursos disponibles de manera equitativa, como se define en la equidad de BigQuery.

Ajuste de escala automático de ranuras

Las consultas continuas pueden usar el ajuste de escala automático de ranuras para escalar de forma dinámica la capacidad asignada y satisfacer tu carga de trabajo. A medida que tu carga de trabajo de consultas continuas aumenta o disminuye, BigQuery ajusta tus ranuras de forma dinámica.

Después de que se comienza a ejecutar una consulta continua, esta escucha de forma activa los datos entrantes, lo que consume recursos de ranuras. Si bien una reserva con una consulta continua en ejecución no se reduce a cero ranuras, se espera que una consulta continua inactiva que principalmente escucha los datos entrantes consuma una cantidad mínima de ranuras, por lo general, alrededor de 1 ranura.

Uso compartido de ranuras inactivas

Las consultas continuas pueden usar el uso compartido de ranuras inactivas para compartir recursos de ranuras sin usar con otras reservas y tipos de trabajos.

  • Aún se requiere una CONTINUOUS asignación de reserva para ejecutar una consulta continua y no se puede depender únicamente de las ranuras inactivas de otras reservas. Por lo tanto, la asignación de una reserva de CONTINUOUS requiere una referencia de ranuras distinta de cero o una configuración de ajuste de escala automático de ranuras distinta de cero.
  • Solo se pueden compartir las ranuras de modelo de referencia inactivas o las ranuras confirmadas de una asignación de reserva de CONTINUOUS. Las ranuras con ajuste de escala automático no se pueden compartir como ranuras inactivas para otras reservas.

Precios

Las consultas continuas pueden usar el ajuste de escala fluido de BigQuery.

Las consultas continuas usan los precios de procesamiento de la capacidad de BigQuery, que se miden 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 usa el tipo de trabajo CONTINUOUS.

El uso de otros recursos de BigQuery, como la transferencia y el almacenamiento de datos, se cobra según las tarifas que se muestran en los precios de BigQuery.

El uso de otros servicios que reciben resultados de consultas continuas o a los que se llama durante el procesamiento continuo de consultas se cobra según las tarifas publicadas para esos servicios. Para obtener información sobre los precios de otros servicios de Cloud de Confiance by S3NS que se usan en las consultas continuas, consulta los siguientes temas:

Cómo estimar los requisitos de capacidad de las ranuras

Debido a que cada carga de trabajo es diferente, a menudo no es posible realizar una estimación exacta de las ranuras para las búsquedas continuas por adelantado. La cantidad de ranuras que requieren tus consultas continuas depende de una combinación de varios factores:

  • Es la cantidad de consultas continuas que se ejecutan de forma simultánea.
  • Es la complejidad de la instrucción de SQL.
  • El uso de funciones de procesamiento con estado, incluidas las duraciones de las ventanas, los JOIN y las agregaciones
  • Es la tasa o velocidad de los datos entrantes.
  • La estructura y el tamaño de los datos que se transfieren.

Conceptualmente, puedes estimar tu requisito total de ranuras como una función de tu carga de trabajo de consultas continuas:

Ranuras estimadas ≈ Cantidad de consultas continuas x ∑ (Tasa de datos x Complejidad de la consulta)

Dado que el consumo real de ranuras depende en gran medida de tus patrones únicos de carga de trabajo y datos, el método más preciso para estimar el costo es supervisar un trabajo en ejecución. Puedes medir el uso máximo de ranuras de una ejecución de consulta continua aislada con las vistas INFORMATION_SCHEMA. Para obtener instrucciones detalladas y ejemplos de consultas para hacer un seguimiento del uso de ranuras a lo largo del tiempo, consulta Cómo ver la información sobre el consumo de ranuras.

¿Qué sigue?

Intenta crear una consulta continua.