Cómo establecer tu cuota de uso en BigQuery para evitar costes excesivos

En este artículo Google explica cómo evitar un coste elevado en Google Cloud después de los cambios anunciados el pasado 16 de Julio en los límites de BigQuery. Lo compartimos traducido.

By Balazs Vajna

Por qué debemos preocuparnos por las cuotas

Una de las primeras cosas que deben ocurrir cuando configuras un proyecto de BigQuery es protegerte contra facturas inesperadas de cloud. Las sorpresas en los costes de cloud pueden ocurrir de dos maneras principales (y, por supuesto, cualquier cosa «intermedia» entre los dos «extremos» siguientes):

1.Tú (o alguien con acceso al proyecto) consulta accidental o intencionadamente un conjunto de datos enorme. Para los nuevos proyectos de BigQuery, esto es muy poco probable que suceda, especialmente cuando se trabaja con marketing digital (incluido GA4 u otros datos de alto volumen a nivel de evento). Se han reportado algunas historias de horror con facturas accidentales enormes; la forma en que lograron esto fue eligiendo posiblemente la peor tabla posible en el proyecto bigquery-public-data para jugar con consultas (y haciendo una consulta SELECT * sin ningún filtro, asumiendo que la declaración LIMIT limita las consultas facturadas, lo cual no hace).

💡 Si deseas recuperar un subconjunto aleatorio de la tabla para reducir el coste de la consulta, usa la cláusula TABLESAMPLE SYSTEM (1 PERCENT) después del nombre de la tabla en la cláusula FROM. La declaración LIMIT solo limita las filas mostradas en la salida, no los bytes consultados.

2.Hay un proyecto antiguo de BigQuery donde se han exportado datos de GA4 (de una propiedad de alto tráfico) durante mucho tiempo, y los analistas de datos comienzan a analizar estos datos intensamente. Quizás se crea e implementa un nuevo panel con una atribución masiva u otra lógica de procesamiento en la canalización de datos. Los datos de GA4 no son increíblemente grandes en términos de almacenamiento, pero pueden acumularse con el tiempo, por ejemplo, para sitios web donde hay más de un millón de eventos cada día. (Esto es territorio de GA360, lo que conlleva un coste adicional, pero ahora nos estamos centrando solo en BigQuery). Esto no suele causar un pico repentino, es más una acumulación gradual, pero la factura de cloud podría superar por primera vez unos pocos miles de dólares.

Establecer límites de cuota de antemano protege contra ambos escenarios, por lo que es una muy buena práctica hacerlo después de configurar el proyecto, o tan pronto como te enteres de esta característica.

Configuración de los límites de cuota

Así es como configuras las salvaguardas protectoras. Primero, haz clic en el menú en la parte superior izquierda y selecciona «APIs y servicios habilitados» de «APIs y servicios».

Selecciona la API de BigQuery de la lista.

Ahora, ve a «Cuotas y límites del sistema» en el menú debajo del banner de la API de BigQuery.

La lista de propiedades aparece en forma de tabla en la parte inferior, con todo tipo de cosas que se pueden limitar. Podría ser útil ordenar la tabla para encontrar lo que necesitamos. Hay dos cosas que estamos buscando:

  • Uso de consultas por día: el número total de bytes que se pueden consultar en el proyecto durante un día.
  • Uso de consultas por día por usuario: el número de bytes que cada usuario individual puede consultar en el proyecto en un día.

Establece un límite en al menos uno de ellos haciendo clic en el menú de 3 puntos a la derecha y seleccionando «Editar cuota», luego configurando el nuevo valor en el panel que aparece a la derecha:

En este ejemplo, ya se han establecido las cuotas (hace unos meses, cuando salió la historia de la factura de 10000 $ antes mencionada). Si no has usado esta función antes, el valor actual probablemente será «Ilimitado».

Si es un proyecto nuevo, se recomienda establecer un límite relativamente bajo, por ejemplo, 1 TB. Si es un proyecto establecido, entonces, por supuesto, debes pensar en el nivel habitual de actividad y luego establecer un umbral basado en el uso real. Con un límite de 1 TB, probablemente alguien levante la mano, pero puede que sea bastante en el futuro, y es mejor tener esto controlado a que alguien acumule una gran cantidad de costes quizás explorando los conjuntos de datos públicos (o los tuyos propios si subes datos masivos a BigQuery) y consultando tablas sin cuidado.

¡Ahora es tu turno!

Haz esto para todos los proyectos que tengas, y luego podrás dormir tranquilo. Espero que este artículo  haya sido útil.