Cuotas y límites

BigQuery limita la frecuencia máxima de solicitudes entrantes y aplica las cuotas correspondientes a cada proyecto. Las políticas específicas varían según la disponibilidad de los recursos, el perfil del usuario, el historial de uso del servicio y otros factores, y están sujetas a cambios sin previo aviso.

En las siguientes listas, se describen los límites de tasas y cuotas vigentes en el sistema.

Trabajos de consulta

Los siguientes límites se aplican a trabajos de consulta creados automáticamente mediante la ejecución de consultas interactivas y a trabajos enviados de manera programática mediante llamadas de método jobs.query y jobs.insert de tipo de consulta.

Las consultas con resultados que se muestran desde la caché de consultas y las consultas de prueba no se descuentan de este límite. Puedes especificar una consulta de prueba mediante la marca --dry_run o si configuras la propiedad dryRun en un trabajo de consulta.

Este límite se aplica a nivel del proyecto. Para aumentar el límite, comunícate con el equipo de asistencia o con Ventas.

  • Límite de frecuencia actual para consultas interactivas según demanda contra fuentes externas de datos de Cloud Bigtable: 4 consultas simultáneas

Tienes un límite de 4 consultas simultáneas contra una fuente externa de datos de Cloud Bigtable.

  • Límite de tasa de simultaneidad para consultas de SQL heredadas que contienen funciones definidas por el usuario (UDF): 6 consultas simultáneas

El límite de la tasa de simultaneidad para consultas de SQL heredadas que contienen UDF incluye consultas tanto interactivas como de lote. Las consultas interactivas que contienen UDP también suman al límite de la tasa de simultaneidad para las consultas interactivas. Este límite no se aplica a consultas de SQL estándar.

  • Límite diario de tamaño de las consultas: configurado como ilimitado de forma predeterminada

Puedes especificar límites sobre la cantidad de datos que los usuarios pueden consultar mediante cuotas personalizadas.

  • Límite de actualización diario de tablas de destino: 1,000 actualizaciones por tabla por día

Las tablas de destino en un trabajo de consulta están sujetas al límite de 1,000 actualizaciones por tabla por día. Las actualizaciones de tablas de destino incluyen las operaciones de agregado y reemplazo realizadas mediante una consulta en la consola, la IU web clásica de BigQuery, la herramienta de línea de comandos bq o mediante una llamada a los métodos de API jobs.query y jobs.insert de tipo de consulta.

  • Límite de tiempo de ejecución de la consulta: 6 horas

  • Cantidad máxima de tablas referenciadas por consulta: 1,000

  • Largo máximo de consulta de SQL heredada sin resolver: 256 KB

  • Largo máximo de consulta de SQL heredada resuelta: 12 MB

  • Largo máximo de consulta de SQL estándar heredada sin resolver: 1 MB

El límite del largo de la consulta resuelta incluye el largo de todas las vistas y tablas de comodines a las que se hace referencia en la consulta.

  • Tamaño máximo de respuesta: 128 MB comprimidos1

1Los tamaños varían según el índice de compresión de los datos. El tamaño real de respuesta puede ser significativamente mayor que 128 MB.

El tamaño máximo de respuesta es ilimitado cuando se escriben los resultados de una consulta grande en una tabla de destino.

  • Tamaño máximo de la fila: 100 MB2

2El límite máximo del tamaño de la fila es aproximado, ya que el límite se basa en la representación interna de los datos de la fila. El límite máximo del tamaño de la fila se aplica durante ciertas etapas de la ejecución del trabajo de consulta.

  • Cantidad máxima de columnas en una tabla, resultados de consulta o definiciones de la vista: 10,000

  • Cantidad máxima de ranuras simultáneas por proyecto para precios según demanda: 2,000

La cantidad predeterminada de ranuras para consultas según demanda se comparte entre todas las consultas en un solo proyecto. Como regla general, si procesas menos de 100 GB de consultas a la vez, es poco probable que utilices las 2,000 ranuras.

Para verificar cuántas ranuras estás usando, consulta Supervisión de BigQuery mediante Stackdriver. Si necesitas más de 2,000 ranuras, comunícate con el representante de ventas para analizar si el precio de tasa fija satisface tus necesidades.

  • Cantidad máxima de consultas simultáneas contra una fuente externa de datos de Cloud Bigtable: 4

Para obtener información sobre los límites que se aplican a las funciones definidas por usuarios en consultas de SQL, consulta los límites de UDF.

Trabajos de carga

Los siguientes límites se aplican a los trabajos creados automáticamente mediante la carga de datos con la herramienta de línea de comandos, la consola o la IU web clásica de BigQuery. Los límites también se aplican a los trabajos de carga enviados de manera programática mediante el método de API jobs.insert de tipo de carga.

Los siguientes límites se aplican cuando cargas datos en BigQuery.

  • Trabajos de carga por tabla por día: 1,000 (incluye fallas)
  • Trabajos de carga por proyecto por día: 50,000 (incluye fallas)
  • El límite de 1,000 trabajos de carga por tabla por día no puede aumentarse.
  • Límites de tamaño de filas y celdas:
    Formato de los datos Límite máximo
    CSV 100 MB (tamaño de fila y celda)
    JSON 100 MB (tamaño de fila)
  • Cantidad máxima de columnas por tabla: 10,000
  • Tamaños máximos de archivos:
    Tipo de archivo Comprimido Sin comprimir
    CSV 4 GB 5 TB
    JSON 4 GB 5 TB
    Avro Los archivos Avro comprimidos no son compatibles, pero sí lo son los bloques de datos comprimidos. BigQuery es compatible con los códec DEFLATE y Snappy. 5 TB (1 MB por encabezado del archivo)
  • Tamaño máximo por trabajo de carga: 15 TB en todos los archivos de entrada para CSV, JSON, Avro, Parquet y ORC
  • Cantidad máxima de URI fuente en la configuración del trabajo: 10,000 URI
  • Cantidad máxima de archivos por trabajo de carga: 10 millones de archivos totales, incluidos todos los archivos que coincidan con todos los URI comodín
  • Límite de tiempo de ejecución de trabajo de carga: 6 horas
  • A excepción de los conjuntos de datos basados en EE.UU., debes cargar datos desde un depósito de Cloud Storage en la misma región que la ubicación del conjunto de datos (este depósito puede ser tanto multirregional como regional en la misma región que el conjunto de datos). Puedes cargar datos en un conjunto de datos ubicado en EE.UU. desde cualquier región.

Para obtener más información, consulta Introducción a la carga de datos en BigQuery.

Trabajos de copia

Se aplican los siguientes límites a las copias de tablas en BigQuery. Los límites se aplican a los trabajos creados automáticamente mediante la copia de datos con la herramienta de línea de comandos, la consola o la IU web clásica de BigQuery. Además, los límites también se aplican a los trabajos de copia enviados de manera programática mediante el método de API jobs.insert de tipo de copia.

  • Trabajos de copiado por tabla de destino por día: 1,000 (incluye fallas)
  • Trabajos de copiado por proyecto por día: 10,000 (incluye fallas)

Exportar trabajos

Los siguientes límites se aplican a trabajos que exportan datos de BigQuery. Los siguientes límites se aplican a los trabajos creados automáticamente mediante la exportación de datos con la herramienta de línea de comandos, la consola o la IU web clásica de BigQuery. Los límites también se aplican a los trabajos de exportación enviados de manera programática mediante el método de API jobs.insert de tipo de carga.

  • Exportaciones por día: 50,000 exportaciones por proyecto y hasta 10 TB por día (el límite de 10 TB de datos es acumulativo en todas las exportaciones)
  • URI comodines: 500 URI comodines por exportación

Límites de conjuntos de datos

Se aplican los siguientes límites a los conjuntos de datos:

  • Cantidad de conjuntos de datos por proyecto: no restringido
    La cantidad de conjuntos de datos por proyecto no está sujeta a una cuota; no obstante, conforme cuando tratas con miles de conjuntos de datos en un proyecto, el rendimiento de la IU clásica se comienza a deteriorar y los listados de conjuntos de datos se vuelven más lentos.
  • Cantidad de tablas por conjunto de datos: no restringido
    Cuando te acercas a las 50,000 o más tablas en un conjunto de datos, enumerarlas se vuelve más lento. El rendimiento de la enumeración se ve afectado ya sea que uses una llamada a la API o la IU web clásica de BigQuery. Actualmente, la IU web clásica de BigQuery en GCP Console te permite mostrar solo 50,000 tablas por conjunto de datos. Para mejorar el rendimiento de la IU web clásica de BigQuery, puedes usar el parámetro ?minimal a fin de limitar a 30,000 la cantidad de tablas que se muestran por proyecto. Debes agregar el parámetro a la URL de la IU web clásica de BigQuery con el siguiente formato: https://bigquery.cloud.google.com/queries/[PROJECT_NAME]?minimal.
  • Cantidad máxima de vistas autorizadas en la lista de control de acceso de un conjunto de datos: 2,500
    Puedes crear una vista autorizada a fin de restringir el acceso a tus datos de origen. La vista autorizada se crea mediante una consulta de SQL que excluye las columnas que no quieras que los usuarios vean cuando consultan la vista. Puedes agregar hasta 2,500 vistas autorizadas a la lista de control de acceso de un conjunto de datos.
  • Frecuencia máxima de operaciones de actualización de metadatos de los conjuntos de datos: 5 operaciones cada 10 segundos por conjunto de datos
    El límite de actualización de metadatos de los conjuntos de datos incluye todas las operaciones de actualización de metadatos realizadas mediante la consola, la IU web clásica de BigQuery, la herramienta de línea de comandos bq o con una llamada a los métodos de API datasets.insert, datasets.patch o datasets.update.
  • Largo máximo de la descripción de un conjunto de datos: 16,384 caracteres
    Cuando agregas una descripción a un conjunto de datos, el texto puede tener, como máximo, 16,384 caracteres.

Límites de la tabla

Los siguientes límites se aplican a las tablas de BigQuery.

Todas las tablas

  • Largo máximo de la descripción de una columna: 16,384 caracteres

Cuando agregas una descripción a una columna, el texto puede tener, como máximo, 16,384 caracteres.

Tablas estándar

  • Cantidad máxima de operaciones en tablas por día: 1,000

Puedes realizar, como máximo, 1,000 operaciones por tabla por día, ya sea que la operación agrega datos a la tabla, la reemplaza o utiliza una declaración INSERT DML para escribir datos en una tabla.

La cantidad máxima de operaciones en tablas incluye el total combinado de todos los trabajos de carga, de copia y de consulta que agregan datos a una tabla o los reemplazan, o que usan una declaración INSERT de DML para escribir datos en ella.

Por ejemplo, si ejecutas 500 trabajos de copiado que agregan datos a mytable y 500 trabajos de consulta que agregan datos a mytable, habrás alcanzado la cuota.

  • Frecuencia máxima de operaciones de actualización de metadatos en la tabla: 5 operaciones cada 10 segundos por tabla

El límite de actualización de metadatos en la tabla incluye todas las operaciones de actualización de metadatos realizadas mediante la consola, la IU web de BigQuery, la herramienta de línea de comandos bq o con una llamada a los métodos de API tables.insert, tables.patch o tables.update. Este límite también se aplica al resultado del trabajo.

  • Cantidad máxima de columnas en una tabla, resultados de consulta o definiciones de la vista: 10,000

Tablas particionadas

  • Cantidad máxima de particiones por tabla particionada: 4,000

  • Cantidad máxima de particiones modificadas por un solo trabajo: 2,000

Cada operación de trabajo (consulta o carga) puede afectar a un máximo de 2,000 particiones. Google BigQuery rechazará cualquier trabajo de consulta o carga que afecte a más de 2,000 particiones.

  • Cantidad máxima de modificaciones de partición por día, por tabla: 5,000

Tienes un límite de 5,000 modificaciones de partición por día para una tabla particionada. Una partición se puede modificar mediante una operación que agrega datos o los reemplaza en la partición. Entre las operaciones que modifican particiones se incluyen las siguientes: un trabajo de carga, una consulta que escribe los resultados en una partición o una declaración DML (INSERT, DELETE, UPDATE o MERGE) que modifica los datos en una partición.

Un trabajo puede afectar a más de una sola partición. Por ejemplo, una declaración DML puede actualizar datos en múltiples particiones (tanto para tablas de tiempo de transferencia como para tablas particionadas). Los trabajos de carga y de consulta también pueden escribir en múltiples particiones, pero únicamente en tablas particionadas. BigQuery usa la cantidad de particiones afectadas por un solo trabajo al momento de determinar qué cantidad de la cuota consume el trabajo. Las inserciones de transmisión no afectan esta cuota.

  • Frecuencia máxima de operaciones de partición: 50 operaciones de partición cada 10 segundos

Límites de vistas

  • Cantidad máxima de niveles de vistas anidadas: 16

BigQuery admite un máximo de 16 niveles de vistas anidadas. Si hay más de 16 niveles, se mostrará un error de INVALID_INPUT.

  • Longitud máxima de una consulta de SQL estándar usada para definir una vista: 256,000 caracteres

Cuando creas una vista, el texto de la consulta de SQL estándar puede tener 256,000 caracteres como máximo.

  • Cantidad máxima de vistas autorizadas en la lista de control de acceso de un conjunto de datos: 2,500

Puedes crear una vista autorizada a fin de restringir el acceso a tus datos de origen. Una vista autorizada se crea mediante una consulta de SQL que excluye las columnas que no quieras que los usuarios vean cuando consultan la vista. Puedes agregar hasta 2,500 vistas autorizadas a la lista de control de acceso de un conjunto de datos.

Límites de UDF

Se aplican los siguientes límites a las funciones definidas por usuarios en consultas de SQL.

  • Cantidad de datos que tu UDF de JavaScript genera cuando procesa una única fila: aproximadamente 5 MB o menos.
  • Límite de frecuencia simultánea para consultas de SQL heredadas que contengan funciones definidas por usuarios (UDF): 6 consultas simultáneas.
  • El límite de frecuencia simultánea para consultas de SQL heredadas que contengan UDF incluye tanto consultas interactivas como en lote. Las consultas interactivas que contienen UDF también se toman en cuenta en el límite de frecuencia simultánea de las consultas interactivas. Este límite no se aplica a consultas de SQL estándar.

  • Un trabajo de consulta puede tener un máximo de 50 recursos UDF JavaScript (blobs de códigos entre líneas o archivos externos).
  • Cada blob de códigos entre líneas tiene un límite de tamaño de 32 KB.
  • Cada recurso de código externo tiene un límite de tamaño de 1 MB.

Declaraciones de lenguaje de manipulación de datos

Los siguientes límites se aplican a las declaraciones de lenguaje de manipulación de datos (DML).

  • Cantidad máxima de declaraciones UPDATE, DELETE y MERGE combinadas por día, por tabla: 1,000

Una declaración MERGE se cuenta como una sola declaración DML, incluso si contiene varias cláusulas INSERT, UPDATE o DELETE.

Límites de BigQuery ML

Se aplican los siguientes límites a trabajos de consulta de SQL estándar que utilizan declaraciones y funciones de BigQuery ML.

  • Consultas que usan la declaración CREATE MODEL: 100 consultas
    • Tienes un límite de 100 consultas CREATE MODEL por día, por proyecto.

Inserciones de transmisión

Se aplican los siguientes límites para la transmisión de datos hacia BigQuery.

  • Tamaño máximo de la fila: 1 MB. Si superas este valor, recibirás errores invalid.
  • Tamaño máximo de la solicitud HTTP: 10 MB. Si superas este valor, recibirás errores invalid.
  • Cantidad máxima de filas por segundo: 100,000 filas por segundo, por proyecto. Exceder este valor dará como resultado errores quotaExceeded. La cantidad máxima de filas por segundo, por tabla, también es de 100,000.
    Puedes usar el total de esta cuota en una tabla o puedes dividirla entre diferentes tablas en un mismo proyecto.
  • Cantidad máxima de filas por solicitud: 10,000 filas por solicitud. Recomendamos un máximo de 500 filas. La agrupación en lotes puede aumentar el rendimiento y la capacidad de procesamiento hasta cierto punto, pero en detrimento de la latencia por solicitud. Una baja cantidad de filas por solicitud y la sobrecarga de cada solicitud pueden llevar a que la transferencia sea ineficiente. Si son demasiadas las filas, la capacidad de procesamiento disminuirá.

    Te recomendamos utilizar cerca de 500 filas por solicitud; experimenta con los datos representativos (esquema y tamaño de datos) para determinar el tamaño de lote ideal.
  • Cantidad máxima de bytes por segundo: 100 MB por segundo, por tabla. Exceder este valor dará como resultado errores quotaExceeded.

Si necesitas una mayor cuota de transmisión de datos para tu proyecto, puedes enviar una solicitud desde la página Google Cloud Platform Console. Puedes configurar una cuota personalizada para transmitir datos en incrementos de 50,000 filas. Por lo general, recibirás una respuesta en un plazo de 2 a 3 días hábiles.

Solicitudes a la API

Todas las solicitudes a la API

Se aplican los siguientes límites a todas las solicitudes a la API de BigQuery:

  • Solicitudes a la API por segundo, por usuario: 100
    Si realizas más de 100 solicitudes por segundo, se podría producir una limitación. Este límite no se aplica a inserciones de transmisión.
  • Solicitudes a la API simultáneas por usuario: 300
    Si realizas más de 300 solicitudes simultáneas por usuario, se podría producir una limitación. Este límite no se aplica a inserciones de transmisión.

Solicitudes de tabledata.list

El método tabledata.list recupera los datos de la tabla de un conjunto específico de filas. Se aplican los siguientes límites a las solicitudes de tabledata.list:

  • Cantidad máxima de consultas tabledata.list por proyecto: 500 por segundo
    Cuando haces una llamada a tabledata.list, puedes enviar hasta 500 solicitudes por segundo, por proyecto.
  • Cantidad máxima de bytes por segundo, por proyecto mostrado por llamadas a tabledata.list: 60 MB por segundo
    Cuando haces una llamada a tabledata.list, puedes mostrar un máximo de 60 MB por segundo de datos de la fila de la tabla por proyecto. El límite se aplica al proyecto que contiene la tabla que se está leyendo.
  • Cantidad máxima de filas por segundo, por proyecto, mostrado por llamadas a tabledata.list: 150,000 por segundo
    Cuando haces una llamada a tabledata.list, puedes mostrar un máximo de 150,000 filas de la tabla por segundo, por proyecto. El límite se aplica al proyecto que contiene la tabla que se está leyendo.

Solicitudes de tables.insert

El método tables.insert crea una tabla nueva y vacía dentro del conjunto de datos. Se aplican los siguientes límites a las solicitudes de tables.insert:

  • Cantidad máxima de solicitudes por segundo, por proyecto: 10. Cuando haces una llamada a tables.insert, puedes crear un máximo de 10 solicitudes por segundo, por proyecto. Este límite incluye las declaraciones que crean tablas, como la declaración DDL CREATE TABLE, y las consultas que escriben resultados en tablas de destino.

Solicitudes de projects.list

El método projects.list enumera todos los proyectos a los que se te otorgó acceso. Se aplican los siguientes límites a las solicitudes projects.list:

  • Cantidad máxima de solicitudes por segundo, por proyecto: 2. Cuando haces una llamada a projects.list, puedes crear un máximo de 2 solicitudes por segundo, por proyecto.

Solicitudes de jobs.get

El método jobs.get muestra información acerca de un trabajo específico. Se aplican los siguientes límites a las solicitudes de jobs.get:

  • Cantidad máxima de solicitudes por segundo, por proyecto: 1,000. Cuando haces una llamada a jobs.get, puedes crear un máximo de 1,000 solicitudes por segundo, por proyecto.

¿Cuándo se restablecen las cuotas?

Las cuotas diarias se restablecen en intervalos regulares durante el día a fin de reflejar su propósito de orientar comportamientos que limiten las tasas. También se realizan actualizaciones intermitentes para evitar interrupciones prolongadas cuando una cuota se agota. Por lo general, se habilita más capacidad de la cuota en unos minutos en lugar de restablecerla por completo una vez al día.

Códigos de error

Los errores de cuota y límite muestran un código de respuesta HTTP 403 o 400. Consulta Solución de errores a fin de obtener una lista completa de los códigos de error y pasos para solucionar problemas.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.