Precios

BigQuery ofrece opciones de precios flexibles y escalables para que el proyecto se ajuste a tu presupuesto.

Los costos de almacenamiento de BigQuery dependen únicamente de la cantidad de datos que almacenes. Los cargos de almacenamiento se dividen en dos categorías:

  • Activo: Un cargo mensual por los datos almacenados en tablas que hayas modificado en los últimos 90 días.
  • A largo plazo: Un cargo mensual menor por los datos almacenados en tablas que no se hayan modificado en los últimos 90 días.

Los costos de las consultas dependen de la cantidad de datos que deban procesarse. Los cargos de las consultas se dividen en dos categorías:

  • Según demanda: La opción más flexible. Los precios de consultas según demanda dependen exclusivamente del uso.
  • Tarifa plana: Las grandes empresas suelen preferir una tarifa plana para las consultas, ya que con esta modalidad los costos son predecibles, fijos y se mantienen mes a mes.

Para obtener más información sobre los precios del almacenamiento y las consultas, revisa los códigos SKU de Google Cloud Platform.

Resumen de precios

La siguiente tabla resume los precios de BigQuery. Las cuotas y los límites de BigQuery se aplican a estas operaciones.

EE.UU. (multirregional) UE (multirregional) Tokio (asia-northeast1) Londres (europe-west2) Sídney (australia-southeast1)
Por mes
Operación Precio Detalles
Almacenamiento activo Los primeros 10 GB son gratuitos todos los meses. Consulta los precios de almacenamiento para obtener más información.
Almacenamiento a largo plazo Los primeros 10 GB son gratuitos todos los meses. Consulta los precios de almacenamiento para obtener más información.
Inserciones de transmisión Se cobra por las filas que se inserten correctamente. Cada fila se calcula con un tamaño mínimo de 1 KB. Consulta los precios de transmisión para obtener más información.
Consultas (análisis) El primer TB de cada mes es gratuito. Consulta los precios según demanda para obtener detalles. Los precios de tasa fija también están disponibles para los clientes que trabajan con grandes volúmenes.

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.

Cómo se facturan los cargos

Cada proyecto que creas tiene una cuenta de facturación adjunta. Todos los cargos en los que incurras por los trabajos de BigQuery ejecutados en el proyecto (p. ej., una consulta) se incluyen en la cuenta de facturación adjunta. Esto se aplica incluso si el proyecto se comparte con terceros fuera de tu organización. Los costos de almacenamiento de BigQuery también se incluyen en la cuenta de facturación adjunta.

Cómo analizar los datos de facturación

Puedes ver los costos y las tendencias de BigQuery en la página de informes de facturación de Cloud, en Cloud Console. Para obtener información sobre el análisis de datos de facturación con los informes, consulta Cómo ver tus tendencias de costo con los informes de facturación.

Para obtener información sobre el análisis de datos de facturación en BigQuery, consulta Exporta datos de facturación a BigQuery en la Documentación de Cloud Billing.

Operaciones gratuitas

En la siguiente tabla, se muestran las operaciones de BigQuery que pueden realizarse sin costo en cualquier ubicación. Las cuotas y los límites de BigQuery se aplican a estas operaciones.

Operación Detalles
Cargar datos

Cuando cargas datos en BigQuery desde Cloud Storage, no se cobra la operación en sí, pero se generan cargos por el almacenamiento de los datos en Cloud Storage. Consulta Almacenamiento de datos en la página de precios de Cloud Storage para obtener más información. Una vez cargados los datos en BigQuery, quedan sujetos a los precios de almacenamiento de la plataforma. Para obtener más información, consulta Cómo cargar datos en BigQuery.

Cuando creas un conjunto de datos en BigQuery, debes seleccionar una ubicación para guardarlo. Si eliges US, puedes cargar datos en tablas del conjunto de datos desde un depósito de Cloud Storage ubicado en cualquier otra región. Actualmente, si cargas datos desde otra región en un conjunto de datos de EE.UU., no se generan cargos de egreso a Internet.

Si eliges una ubicación distinta de US, debes realizar una de las siguientes operaciones:

  • Cargar datos desde un depósito de Cloud Storage en la región seleccionada (este depósito puede ser multirregional o regional, siempre que se encuentre en la misma región que el conjunto de datos)
  • Copiar los datos en un depósito en la región seleccionada

Cuando copias datos de una región de Cloud Storage a otra, se aplican los precios de red de Cloud Storage.

Copiar datos No se cobra por copiar una tabla, pero se generan cargos por el almacenamiento de la tabla nueva y la tabla original. Para obtener más información, consulta la Cómo copiar una tabla existente.
Exportar datos Cuando exportas datos de BigQuery a Cloud Storage, no se cobra la operación en sí, pero se generan cargos por el almacenamiento de datos en Cloud Storage. Consulta Almacenamiento de datos en la página de precios de Cloud Storage para obtener más información. Para obtener más información, consulta Cómo exportar datos de BigQuery.
Borrar conjuntos de datos No se cobra por borrar un conjunto de datos.
Borrar tablas, vistas y particiones No se cobra por borrar tablas, vistas ni particiones de tablas individuales.
Operaciones con metadatos No se cobra por las llamadas de list, get, patch, update o delete. Algunos ejemplos de las operaciones que no se cobran son mostrar conjuntos de datos, actualizar la lista de control de acceso de un conjunto de datos y actualizar la descripción de una tabla.
Leer pseudocolumnas No se cobra por consultar el contenido de las siguientes pseudocolumnas:

_TABLE_SUFFIX: Se usa para consultar tablas comodín o conseguir la semántica del decorador de tablas en SQL estándar.
_PARTITIONDATE: Se usa para consultar las tablas particionadas por tiempo de transferencia.
_PARTITIONTIME: Se usa para consultar las tablas particionadas por tiempo de transferencia.
_FILE_NAME: Se usa para consultar las tablas basadas en fuentes de datos externas.
Leer metatablas No se cobra por consultar el contenido de las siguientes metatablas:

__PARTITIONS_SUMMARY__: Se usa para obtener metadatos sobre las particiones de una tabla particionada o una tabla particionada por tiempo de transferencia.
__TABLES_SUMMARY__: Se usa para obtener metadatos sobre las tablas y vistas de un conjunto de datos.

Límites de uso siempre gratuito

Como parte del Nivel gratuito de Google Cloud Platform, BigQuery ofrece recursos sin cargo hasta que alcances un límite específico. Estos límites de uso sin cargo están disponibles durante el período de prueba y después de este. Si excedes los límites de uso una vez finalizado el período de prueba gratuita, se aplicarán cargos conforme a los precios que se indican en esta página.

Recurso Límites de uso gratuito mensual Detalles
Almacenamiento Los primeros 10 GB por mes son gratis. El nivel de almacenamiento gratuito incluye los modelos de BigQuery ML y los datos de entrenamiento almacenados en BigQuery.
Consultas (análisis) El primer TB de datos de consultas que se procesan por mes es gratis. El nivel de análisis gratuito incluye las consultas que usan las funciones de predicción, inspección y evaluación de BigQuery ML. No se incluyen las consultas de BigQuery ML que incluyen instrucciones CREATE MODEL.
También ofrecemos precios de tarifa plana para los clientes de alto volumen que prefieren un costo mensual estable.
Consultas CREATE MODEL de BigQuery ML Los primeros 10 GB de datos procesados mediante consultas que incluyen instrucciones CREATE MODEL por mes son gratis. Las consultas CREATE MODEL de BigQuery ML son independientes del nivel de análisis gratuito de BigQuery.

Precios de consulta

Los precios de consulta se refieren al costo de ejecución de comandos de SQL y las funciones definidas por el usuario. BigQuery utiliza una métrica para la aplicación de cargos por las consultas: la cantidad de bytes que se procesan (también denominada "bytes leídos"). Se cobra por la cantidad de bytes procesados, sin importar si los datos se almacenan en BigQuery o en una fuente de datos externa, como Google Cloud Storage, Google Drive o Google Cloud Bigtable.

Cuando ejecutas una consulta, se cobra según el total de datos procesados en las columnas que seleccionas, incluso si configuras un LIMIT explícito en los resultados. Los bytes totales por columna se calculan según los tipos de datos de la columna. Para obtener más información sobre los cálculos del tamaño de los datos, consulta el cálculo del tamaño de los datos.

Los precios de las consultas dependen de tu patrón de uso: una tarifa fija por las consultas o precios de consultas interactivas. Los clientes que son grandes empresas suelen preferir los precios de tarifa plana para las consultas, ya que con ese modelo los costos se mantienen uniformes de mes a mes. Los precios según demanda (o interactivos) ofrecen flexibilidad y dependen únicamente del uso.

Precios según demanda

Los precios de consultas según demanda funcionan de la siguiente manera:

EE.UU. (multirregional) UE (multirregional) Tokio (asia-northeast1) Londres (europe-west2) Sídney (australia-southeast1)
Por mes
Operación Precio Detalles
Consultas (análisis) El primer terabyte (1 TB) por mes es gratis. También ofrecemos precios de tarifa plana para los clientes de alto volumen que prefieren un costo mensual estable.

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.

Ten en cuenta las siguientes consideraciones en relación con los cargos por consultas:

  • No se cobrará por las consultas que muestren un error ni por las que recuperan resultados de la caché.
  • Los cargos se redondean al MB más cercano, con un mínimo de 10 MB de datos procesados por la tabla a la que haga referencia la consulta y con un mínimo de 10 MB de datos procesados por consulta.
  • Cancelar un trabajo de consulta en ejecución puede generar cargos de hasta el costo completo de la consulta si esta se ejecuta hasta completarse.
  • BigQuery usa una estructura de datos de columnas. Se cobra según el total de datos procesados en las columnas que selecciones, y el total de datos por columna se calcula según los tipos de datos de cada columna. Para obtener más información sobre cómo se calcula el tamaño de tus datos, consulta el cálculo de tamaño de los datos.

Controles de costos de las consultas según demanda

BigQuery ofrece mecanismos de control de costos que te permiten limitar los costos de las consultas. Tienes las siguientes opciones:

Tarifa plana

BigQuery ofrece precios de tasa fija para los clientes empresariales o que trabajan con grandes volúmenes y prefieren un costo mensual estable para las consultas en lugar de pagar el precio según demanda por TB de datos procesados. Si seleccionas el precio de tasa fija, el costo de todos los bytes procesados se incluye en el precio de tasa fija mensual.

BigQuery administra la cuota de espacios automáticamente, según el historial, el uso y el gasto del cliente. En el caso de los clientes que deban tener un gasto mensual de análisis constante todos los meses, BigQuery ofrece varias maneras de aumentar la cantidad de espacios asignados.

Precios de tasa fija:

  • Se aplican solo a los costos de consulta, no de almacenamiento. Consulta los precios de almacenamiento para ver los costos de almacenamiento.
  • Se aplican a todos los proyectos vinculados con la cuenta de facturación en la que se aplican precios de tasa fija.
  • Proporcionan espacios de BigQuery adicionales. Consulta la siguiente tabla para obtener detalles.
  • Proporciona simultaneidad de consultas adicional para las consultas interactivas.

EE.UU. (multirregional) UE (multirregional) Tokio (asia-northeast1) Londres (europe-west2) Sídney (australia-southeast1)
Por mes
Costo mensual Cantidad de espacios Espacios adicionales
2,000

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.

Comunícate con tu representante de ventas si te interesan los precios de tasa fija.

Precios de almacenamiento

Una vez cargados los datos en BigQuery, se cobra el almacenamiento. Los precios del almacenamiento dependen de la cantidad de datos en tus tablas sin comprimir.

El tamaño de los datos se calcula según los tipos de datos de cada columna. Para obtener una explicación detallada de cómo se calcula el tamaño de los datos, consulta Cálculo del tamaño de los datos.

Almacenamiento activo

Los cargos del almacenamiento activo se calculan de la siguiente manera:

EE.UU. (multirregional) UE (multirregional) Tokio (asia-northeast1) Londres (europe-west2) Sídney (australia-southeast1)
Por mes
Tipo de almacenamiento Precio Detalles
Almacenamiento activo Los primeros 10 GB son gratuitos todos los meses.

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.

Los precios de almacenamiento se prorratean por MB, por segundo. Por ejemplo, si almacenas:

  • 100 MB por medio mes, pagas $0.001 (un décimo de centavo)
  • 500 GB por medio mes, pagas $5
  • 1 TB por un mes completo, pagas $20

Almacenamiento a largo plazo

Si una tabla no se edita por 90 días consecutivos, el precio de almacenamiento disminuye automáticamente un 50%. No disminuyen el rendimiento, la durabilidad, la disponibilidad ni otras funciones cuando una tabla se considera como almacenamiento a largo plazo.

Los precios del almacenamiento a largo plazo se calculan de la siguiente manera:

EE.UU. (multirregional) UE (multirregional) Tokio (asia-northeast1) Londres (europe-west2) Sídney (australia-southeast1)
Por mes
Tipo de almacenamiento Precio Detalles
Almacenamiento a largo plazo Los primeros 10 GB son gratuitos todos los meses.

Si la tabla se edita, el precio vuelve a ser el de almacenamiento común y el contador de 90 días vuelve a comenzar desde cero. Cualquier operación que modifique los datos de una tabla restablece el contador. Estos son algunos ejemplos:

Acción Detalles
Cargar datos en una tabla Cualquier trabajo de carga o consulta que agregue datos a una tabla de destino o la sobrescriba.
Copiar datos en una tabla Cualquier trabajo de copia que agregue datos a una tabla de destino o la sobrescriba.
Escribir los resultados de una consulta en una tabla Cualquier trabajo de consulta que agregue datos a una tabla de destino o la sobrescriba.
Usar el lenguaje de manipulación de datos (DML) Usar una declaración de DML para modificar los datos.
Usar lenguaje de definición de datos (DDL) Usar una instrucción de DDL “CREATE OR REPLACE TABLE” para reemplazar una tabla.
Transmitir datos a la tabla Transferir datos mediante una llamada a la API tabledata.insertAll.

Todas las otras acciones no reinician el contador, incluidas las siguientes:

  • Consultar una tabla
  • Crear una vista que consulte una tabla
  • Exportar datos de una tabla
  • Copiar una tabla (para pegar los datos en otra)
  • Aplicar parches a un recurso de tabla o actualizarlo

Cada partición de una tabla particionada se considera por separado para los precios de almacenamiento a largo plazo. Si una partición no se modificó en los últimos 90 días, los datos de esa partición se consideran como almacenamiento a largo plazo y se cobran según los precios con descuento.

En el caso de las tablas que alcanzan el umbral de 90 días durante un ciclo de facturación, se prorratea el precio según corresponda.

Los precios del almacenamiento a largo plazo se aplican solo al almacenamiento de BigQuery, no a los datos almacenados en fuentes de datos externas, como Cloud Bigtable, Cloud Storage y Google Drive.

Cálculo del tamaño de los datos

Cuando cargas datos a BigQuery o los consultas, se cobra según el tamaño de los datos. El tamaño de los datos se calcula en función del tamaño del tipo de datos de cada columna.

El tamaño de tus datos almacenados y el tamaño de los datos que se procesen en tus consultas se calculan en gigabytes (GB), con la equivalencia 1 GB = 230 bytes. Esta unidad de medida también se conoce como gibibyte (GiB). De manera similar, 1 TB equivale a 240 bytes (1,024 GB).

El tamaño de los tipos de datos de BigQuery se calcula de la siguiente manera:

Tipo de datos Tamaño
INT64/INTEGER 8 bytes
FLOAT64/FLOAT 8 bytes
NUMERIC 16 bytes
BOOL/BOOLEAN 1 byte
STRING 2 bytes + el tamaño de la string con codificación UTF-8
BYTES 2 bytes + el tamaño de la string con codificación UTF-8
DATE 8 bytes
DATETIME 8 bytes
TIME 8 bytes
TIMESTAMP 8 bytes
STRUCT/RECORD 0 bytes + el tamaño de los campos incluidos
GEOGRAPHY 16 bytes + 24 bytes * la cantidad de vértices del tipo de geografía (puedes verificar este valor con la función ST_NumPoints)

Los valores nulos para cualquier tipo de datos se calculan como 0 bytes.

Una columna repetida se almacena como matriz y el tamaño se calcula en función de la cantidad de valores. Por ejemplo, una columna con números enteros (INT64) que se repite (ARRAY<INT64>) y contiene 4 entradas equivale a 32 bytes (4 entradas x 8 bytes).

Precios de transmisión

Cargar datos en BigQuery es gratuito, excepto por un pequeño costo por los datos transmitidos.

Los precios de los datos transmitidos se calculan de la siguiente manera:

EE.UU. (multirregional) UE (multirregional) Tokio (asia-northeast1) Londres (europe-west2) Sídney (australia-southeast1)
Por mes
Operación Precio Detalles
Inserciones de transmisión Se cobra por las filas que se inserten correctamente. Cada fila se calcula con un tamaño mínimo de 1 KB.

Precios de BigQuery ML

A partir del 15 de diciembre de 2018, BigQuery ML comenzará a cobrar por las consultas CREATE MODEL. Los precios se aplicarán a todos los modelos compatibles en la actualidad. Los precios de BigQuery ML se basan en tus patrones de uso, que pueden ser de tarifa plana o según demanda.

Precios de la tarifa plana de BigQuery ML

BigQuery ofrece precios de tarifa plana para los clientes empresariales o que trabajan con grandes volúmenes y prefieren un costo mensual estable en lugar de pagar el precio según demanda por la creación, evaluación, inspección y predicción de modelos.

Por el momento, no existen cobros adicionales por la tarifa plana de BigQuery ML. Si eliges esta modalidad de pago, se incluirán los costos de BigQuery ML en el precio mensual de la tarifa plana de BigQuery hasta el 31 de julio de 2019.

Precio de BigQuery ML según demanda

El precio de las consultas según demanda en BigQuery ML depende del tipo de operación que realices: creación de modelos, evaluación, inspección o predicción de modelos.

Los precios de BigQuery ML según demanda funcionan de la siguiente manera:

EE.UU. (multirregional) UE (multirregional) Tokio (asia-northeast1) Londres (europe-west2) Sídney (australia-southeast1)
Por mes
Operación Precio Detalles
Creación de modelos Tiene un límite de 50 iteraciones.
En el nivel gratuito de BigQuery, los primeros 10 GB de datos procesados mediante instrucciones CREATE MODEL por mes no tienen costo.
Evaluación, inspección y predicción En el nivel gratuito de análisis de BigQuery, se incluyen los cargos por consultas de evaluación, inspección y predicción en el primer TB por mes.

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.

Precios del lenguaje de manipulación de datos

BigQuery cobra por las consultas DML en función de la cantidad de bytes procesados por cada consulta.

Precios de DML que no pertenecen a tablas particionadas

En las tablas sin partición, la cantidad de bytes procesados se calcula de la siguiente manera:

Declaración DML Bytes procesados
INSERT La suma de bytes procesados en todas las columnas a las que se hace referencia en las tablas que se analizaron para la consulta.
UPDATE La suma de bytes en todas las columnas a las que se hace referencia en las tablas que se analizaron para la consulta
más la suma de bytes en todas las columnas de la tabla actualizada en el momento en que comienza el evento UPDATE.
DELETE La suma de bytes en todas las columnas a las que se hace referencia en las tablas que se analizaron para la consulta
más la suma de bytes en todas las columnas de la tabla modificada en el momento en que comienza el evento DELETE.
MERGE Si la declaración MERGE solo contiene cláusulas INSERT, se cobra la suma de bytes procesados en todas las columnas a las que se hace referencia en todas las tablas que se analizaron para la consulta.
Si la declaración MERGE contiene cláusulas UPDATE o DELETE, se cobra la suma de bytes procesados en todas las columnas a las que se hace referencia en las tablas fuente que se analizaron para la consulta
más la suma de bytes en todas las columnas de la tabla meta (en el momento en que comienza el evento MERGE).

Precios de DML que pertenecen a tablas particionadas

En el caso de las tablas sin partición, la cantidad de bytes procesados se calcula de la siguiente manera:

Declaración DML Bytes procesados
INSERT La suma de bytes procesados en todas las columnas a las que se hace referencia en todas las particiones que se analizaron para la consulta.
UPDATE La suma de bytes procesados en todas las columnas a las que se hace referencia en todas las particiones de las tablas que se analizaron para la consulta
más la suma de bytes en todas las columnas de las particiones que se actualizaron o analizaron en la tabla en proceso de actualización (en el momento en que comienza el evento UPDATE).
DELETE La suma de bytes procesados en todas las columnas a las que se hace referencia en todas las particiones de las tablas que se analizaron para la consulta
más la suma de bytes en todas las columnas de las particiones que se modificaron o analizaron en la tabla en proceso de modificación (en el momento en que comienza el evento DELETE).
MERGE Si la declaración MERGE solo contiene cláusulas INSERT, se cobra la suma de bytes procesados en todas las columnas a las que se hace referencia en todas las particiones que se analizaron para la consulta.
Si la declaración UPDATE contiene cláusulas DELETE o MERGE, se cobra la suma de bytes procesados en todas las columnas a las que se hace referencia en las particiones de las tablas fuente que se analizaron para la consulta
más la suma de bytes en todas las columnas de las particiones que se actualizaron, borraron o analizaron en la tabla meta (en el momento en que comienza el evento MERGE).

Precios del lenguaje de definición de datos

BigQuery cobra por las consultas DDL en función de la cantidad de bytes que procesa cada una de ellas. En las instrucciones de DDL, la cantidad de bytes procesados se calcula de la siguiente manera:

Declaración de DDL Bytes procesados
CREATE TABLE Ninguna
CREATE TABLE ... AS SELECT ... La suma de bytes procesados en todas las columnas a las que se hace referencia en las tablas que se analizaron para la consulta.
CREATE VIEW Ninguna
DROP TABLE Ninguna
DROP VIEW Ninguna

Precios de las tablas agrupadas

Cuando creas y usas tablas agrupadas en BigQuery, el cobro se basa en la cantidad de datos almacenados en las tablas y de consultas que ejecutas en ellos. Las tablas agrupadas reducen los datos para que no los procesen las consultas, lo que te permite disminuir este tipo de gastos. Este proceso se conoce como reducción de bloques.

Reducción de bloques

BigQuery ordena los datos en una tabla agrupada según los valores de las columnas de agrupamiento y, luego, los organiza en bloques.

Cuando envías una consulta con un filtro en una columna agrupada, BigQuery usa la información de agrupamiento para determinar de manera eficiente si el bloque contiene datos pertinentes a la consulta. Esto permite que BigQuery solo analice los bloques relevantes, proceso conocido como reducción de bloques.

El precio de las consultas se basa en la cantidad de bytes procesados. Cuando ejecutas una consulta en una tabla agrupada y la consulta tiene un filtro en las columnas agrupadas, BigQuery usa la expresión para filtrar y los metadatos del bloque a fin de reducir la cantidad de bloques que analiza la consulta.

Cuando se reduce un bloque, no se analiza. Para calcular los bytes de datos que procesó la consulta, solo se usan los bloques analizados. La cantidad de bytes que procesó una consulta en una tabla agrupada equivale a la suma de los bytes que se leyeron en cada columna a la que hizo referencia la consulta en los bloques analizados.

Si se hace referencia varias veces a una tabla agrupada en una consulta que usa muchos filtros, BigQuery cobra por el análisis de las columnas en los bloques apropiados de cada filtro respectivo.

Ejemplo de precio de una tabla agrupada

Supón que tienes una tabla agrupada con el nombre ClusteredSalesData. La columna timestamp particiona la tabla y la columna customer_id la agrupa. Los datos se organizan en el conjunto de bloques que se indica a continuación:

Identificador de la partición ID del bloque Valor mínimo de customer_id en el bloque Valor máximo de customer_id en el bloque
20160501 B1 10000 19999
20160501 B2 20000 24999
20160502 B3 15000 17999
20160501 B4 22000 27999

Ejecuta la siguiente consulta en la tabla. La consulta tiene un filtro en la columna customer_id.

SELECT
  SUM(totalSale)
FROM
  `mydataset.ClusteredSalesData`
WHERE
  customer_id BETWEEN 20000
  AND 23000
  AND DATE(timestamp) = "2016-05-01"

La consulta realiza las siguientes acciones:

  • Analiza las columnas timestamp, customer_id y totalSale de los bloques B2 y B4.
  • Reduce el bloque B3 debido al predicado de filtro DATE(timestamp) = "2016-05-01" en la columna de partición timestamp.
  • Reduce el bloque B1 debido al predicado de filtro customer_id BETWEEN 20000 AND 23000 en la columna de agrupación customer_id.

Precios de BigQuery Data Transfer Service

Se aplican cargos mensuales prorrateados por el servicio de transferencia de datos de BigQuery. Se cobra por lo siguiente:

Aplicación fuente Cargo mensual (prorrateado)
Campaign Manager

$2.50 por ID de anunciante único: ID de anunciante en la tabla impression

Cloud Storage

Sin cargo. Se aplican los límites y cuotas de BigQuery.

Google Ads

$2.50 por ID de cliente único: ExternalCustomerID de la tabla Customer, incluidos los ID de clientes con cero impresiones.

Google Ad Manager

$100 por ID de red

Google Play

Sin cargo hasta el 31 de agosto de 2018. A partir del 1 de septiembre de 2018:

$25 por nombre de paquete único de la tabla Installs_country.

Canal de YouTube

$5 por canal

Propietario de contenido de YouTube

$5 cada 1,000 canales únicos ($0.005 por canal único); ID de canal en la tabla content_owner_basic_a3.

Una vez transferidos los datos a BigQuery, se aplican los precios estándar de almacenamiento y consulta de BigQuery. Para obtener detalles de precios adicionales, comunícate con Ventas.

Cálculo de ID únicos

Cada transferencia que creas genera 1 o más ejecuciones por día. Cada ejecución mantiene un registro de cada ID único que se encontró y la fecha en la que se completa la ejecución de transferencia. Los ID solo se cuentan en el día que se completa la transferencia. Por ejemplo, si una ejecución de transferencia inicia el 14 de julio, pero se completa el 15 de julio, los ID únicos se cuentan el 15 de julio.

Si un ID único se encuentra en más de una ejecución de transferencia de un día en particular, se cuenta solo una vez. Los ID únicos se cuentan por separado en transferencias diferentes. Si un ID único se encuentra en ejecuciones de dos transferencias independientes, el ID se cuenta dos veces.

Cálculo de cargos de restablecimiento

Si programas un restablecimiento, se programa una ejecución de transferencia para cada día. Luego, se cobra según el método que se describe en Cálculo de ID únicos.

Cómo detener los cargos del servicio de transferencia de datos de BigQuery

Para dejar de generar cargos, inhabilita o borra la transferencia.

Ejemplos de precios

Cómo estimar los costos de las consultas

Para ver algunos ejemplos de precios de consultas, revisa Cómo estimar los costos de las consultas.

Cómo estimar los costos del almacenamiento

Para ver algunos ejemplos de precios de almacenamiento, revisa Cómo estimar los costos del almacenamiento.

Ejemplos de precios de DML para tablas sin partición

Los ejemplos que se detallan a continuación demuestran cómo se calculan los bytes leídos para generar las declaraciones DML que modifican tablas sin partición en BigQuery.

Ejemplo 1: ACTUALIZACIÓN de tabla sin partición

table1 tiene dos columnas: col1 de tipo INTEGER y col2 de tipo STRING.

UPDATE table1 SET col1 = 1 WHERE col1 = 2;

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en col1
  • La suma de la cantidad de bytes en col2

Ejemplo 2: ACTUALIZACIÓN de tabla sin partición

table1 tiene dos columnas: col1 de tipo INTEGER y col2 de tipo STRING. table2 tiene una columna: field1 de tipo INTEGER.

UPDATE table1 SET col1 = 1 WHERE col1 in (SELECT field1 from table2)

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en table1.col1 antes del evento UPDATE
  • La suma de la cantidad de bytes en table1.col2 antes del evento UPDATE
  • La suma de la cantidad de bytes en table2.field1

Ejemplos de precios de DML para tablas particionadas

Los ejemplos que se detallan a continuación demuestran cómo se calculan los bytes leídos para generar las declaraciones DML que modifican el tiempo de transferencia y las tablas particionadas en BigQuery. Para ver las representaciones esquemáticas JSON de las tablas usadas en los ejemplos, consulta las tablas usadas en los ejemplos en la página donde se explica cómo actualizar los datos de tablas particionadas mediante declaraciones DML.

Ejemplo 1: INSERCIÓN de tablas particionadas y tiempo de transferencia

mytable2 tiene dos columnas: id de tipo INTEGER y ts de tipo TIMESTAMP. mytable tiene dos columnas: field1 de tipo INTEGER y field2 de tipo STRING.

INSERT INTO mytable (_PARTITIONTIME, field1) AS SELECT TIMESTAMP(DATE(ts)), id from mytable2

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en mytable2.ts
  • La suma de la cantidad de bytes en mytable2.id

El tamaño de la tabla en la que se insertan las filas (mytable) no afecta el costo de la consulta.

Ejemplo 2: INSERCIÓN de tablas particionadas

mytable2 tiene dos columnas: id de tipo INTEGER y ts de tipo TIMESTAMP. mycolumntable tiene cuatro columnas: field1 de tipo INTEGER, field2 de tipo STRING, field3 de tipo BOOLEAN y ts de tipo TIMESTAMP.

INSERT INTO mycolumntable (ts, field1) AS SELECT ts, id from mytable2

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en mytable2.ts
  • La suma de la cantidad de bytes en mytable2.id

El tamaño de la tabla en la que se insertan las filas (mycolumntable) no afecta el costo de la consulta.

Ejemplo 3: ACTUALIZACIÓN de tablas particionadas y tiempo de transferencia

Declaración DML 1: Cómo actualizar una partición única

mytable2 tiene dos columnas: id de tipo INTEGER y ts de tipo TIMESTAMP. mytable tiene dos columnas: field1 de tipo INTEGER y field2 de tipo STRING.

UPDATE project.mydataset.mytable T SET T.field1 = T.field1 + 100 WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en mytable2.id
  • La suma de la cantidad de bytes en mytable.field1 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mytable.field2 en la partición “2017-05-01”

Declaración DML 2: Cómo actualizar una partición a partir de otra en una tabla

UPDATE project.mydataset.mytable T SET T._PARTITIONTIME = TIMESTAMP(“2017-06-01”), T.field1 = T.field1 + 100 WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT 1 from project.mydataset.mytable S WHERE S.field1 = T.field1 AND S._PARTITIONTIME = TIMESTAMP("2017-06-01") )

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en mytable.field1 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mytable.field2 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mytable.field1 en la partición “2017-06-01”
  • La suma de la cantidad de bytes en mytable.field2 en la partición “2017-06-01”

En este caso, el costo de la declaración de ACTUALIZACIÓN es igual a la suma del tamaño de todos los campos en las particiones correspondientes a “2017-05-01” y “2017-06-01”.

Ejemplo 4: ACTUALIZACIÓN de tabla particionada

Declaración DML 1: Cómo actualizar una partición única

mytable2 tiene dos columnas: id de tipo INTEGER y ts de tipo TIMESTAMP. mycolumntable tiene cuatro columnas: field1 de tipo INTEGER, field2 de tipo STRING, field3 de tipo BOOLEAN y ts de tipo TIMESTAMP.

UPDATE project.mydataset.mycolumntable T SET T.field1 = T.field1 + 100 WHERE DATE(T.ts) = “2017-05-01” AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en mytable2.id
  • La suma de la cantidad de bytes en mycolumntable.field1 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.field2 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.field3 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.ts en la partición “2017-05-01”

Declaración DML 2: Cómo actualizar una partición a partir de otra en una tabla

UPDATE project.mydataset.mycolumntable T SET T.ts = TIMESTAMP(“2017-06-01”), T.field1 = T.field1 + 100 WHERE DATE(T.ts) = “2017-05-01” AND EXISTS (SELECT 1 from project.mydataset.mycolumntable S WHERE S.field1 = T.field1 AND DATE(S.ts) = "2017-06-01")

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en mycolumntable.field1 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.field2 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.field3 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.ts en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.field1 en la partición “2017-06-01”
  • La suma de la cantidad de bytes en mycolumntable.field2 en la partición “2017-06-01”
  • La suma de la cantidad de bytes en mycolumntable.field3 en la partición “2017-06-01”
  • La suma de la cantidad de bytes en mycolumntable.ts en la partición “2017-06-01”

En este caso, el costo de la declaración de ACTUALIZACIÓN es igual a la suma del tamaño de todos los campos en las particiones correspondientes a “2017-05-01” y “2017-06-01”.

Ejemplo 5: BORRADO de tablas particionadas y tiempo de transferencia

mytable2 tiene dos columnas: id de tipo INTEGER y ts de tipo TIMESTAMP. mytable tiene dos columnas: field1 de tipo INTEGER y field2 de tipo STRING.

DELETE project.mydataset.mytable T WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en mytable2.id
  • La suma de la cantidad de bytes en mytable.field1 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mytable.field2 en la partición “2017-05-01”

Ejemplo 6: BORRADO de tabla particionada

mytable2 tiene dos columnas: id de tipo INTEGER y ts de tipo TIMESTAMP. mycolumntable tiene cuatro columnas: field1 de tipo INTEGER, field2 de tipo STRING, field3 de tipo BOOLEAN y ts de tipo TIMESTAMP.

DELETE project.mydataset.mycolumntable T WHERE DATE(T.ts) =“2017-05-01” AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

Bytes procesados en este ejemplo:

  • La suma de la cantidad de bytes en mytable2.id
  • La suma de la cantidad de bytes en mycolumntable.field1 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.field2 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.field3 en la partición “2017-05-01”
  • La suma de la cantidad de bytes en mycolumntable.ts en la partición “2017-05-01”

Ejemplos de precios del servicio de transferencia de datos de BigQuery

Ejemplo 1: Tienes 1 transferencia con 3 ejecuciones que se completan el mismo día.

  • La primera ejecución registra los siguientes ID únicos: A, B y C
  • La segunda ejecución registra: A
  • La tercera ejecución registra: C y D

Dado que todas las ejecuciones finalizan el mismo día, se cobra según los 4 ID únicos: A, B, C y D. Dado que el ID A y el ID C se registraron en dos ejecuciones diferentes que se completaron el mismo día, los ID A y C se cuentan solo una vez. Si las 3 ejecuciones de transferencia se completan todos los días durante un mes, el cargo mensual se calcula a partir de los 4 ID únicos. Si las ejecuciones de transferencia se completan menos veces que la cantidad de días del mes en el que se ejecutaron, se prorratean los cargos.

Ejemplo 2: Tienes transferencias múltiples con ejecuciones que se completan el mismo día.

  • Se ejecuta la transferencia 1 y se registran los siguientes ID únicos: A, B y C
  • Se ejecuta la transferencia 2 y se registra: A
  • Se ejecuta la transferencia 3 y se registran: C y D

Dado que los ID únicos se cuentan en ejecuciones de diferentes transferencias, se cobra según los 6 ID únicos: A, B y C de la ejecución de la transferencia 1; A de la ejecución de la transferencia 2; y C y D de la ejecución de la transferencia 3. Si las ejecuciones de transferencia se completan menos veces que la cantidad de días del mes en el que se ejecutaron, los cargos se prorratean.

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

Enviar comentarios sobre…

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