Get a free observability report to evaluate the potential savingsContact us →
Análisis de costos3 min de lectura

Análisis de costos de BigQuery por proyecto

Cuando su organización ejecuta BigQuery en múltiples proyectos GCP, entender qué proyecto genera más costos es esencial para la asignación presupuestaria y la reimputación de costos. Esta consulta proporciona atribución de costos a nivel de proyecto usando INFORMATION_SCHEMA.

Por qué importa

Los entornos multi-proyecto son la norma en configuraciones GCP maduras — proyectos separados para producción, staging, analítica y ciencia de datos. Sin visibilidad de costos a nivel de proyecto, los equipos no pueden realizar reimputación precisa, establecer presupuestos significativos ni identificar qué proyecto necesita atención de optimización primero.

Cómo funciona

Esta consulta lee desde INFORMATION_SCHEMA.JOBS_BY_PROJECT y agrupa costos por project_id. Para visibilidad a nivel de organización, ejecutaría consultas similares contra JOBS_BY_ORGANIZATION (requiere acceso a nivel de organización). El costo total bajo demanda de cada proyecto se calcula a partir de bytes facturados a $6.25/TiB.

Consulta SQL

Fill in your details to get a ready-to-run query:

SQL
-- Aggregate on-demand cost per GCP project

DECLARE lookback_days INT64 DEFAULT 30;

WITH jobs AS (
  SELECT
    project_id,
    job_id,
    COALESCE(total_bytes_billed, 0) AS bytes_billed,
    ROW_NUMBER() OVER (PARTITION BY job_id ORDER BY end_time DESC) AS rn
  FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
  WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
    AND job_type = 'QUERY' AND state = 'DONE' AND total_slot_ms IS NOT NULL
),
deduplicated AS (
  SELECT project_id, job_id, bytes_billed FROM jobs WHERE rn = 1
)
SELECT
  project_id,
  COUNT(DISTINCT job_id) AS total_jobs,
  ROUND(SUM(bytes_billed) / POW(1024, 3), 2) AS gib_scanned,
  ROUND(SUM(bytes_billed) / POW(1024, 4) * 6.25, 2) AS estimated_cost_usd
FROM deduplicated
GROUP BY project_id
ORDER BY estimated_cost_usd DESC
Reemplace your-project y region-us con su proyecto GCP y la región de su dataset.

Explicación de la consulta

La consulta recopila todos los trabajos de consulta completados, deduplica por job_id, agrupa por project_id y suma total_bytes_billed. También cuenta trabajos distintos por proyecto para ver qué proyectos ejecutan más consultas. La fórmula del costo bajo demanda es bytes / 1024^4 * $6.25.

Puntos clave

  • lightbulb

    Los proyectos de staging y desarrollo a veces pueden costar más que producción si los ingenieros ejecutan consultas exploratorias no optimizadas.

  • lightbulb

    Los proyectos con alto número de trabajos pero bajo costo ejecutan consultas eficientes — estudie sus patrones.

  • lightbulb

    Los proyectos con pocos trabajos pero alto costo tienen consultas individuales costosas que vale la pena investigar.

  • lightbulb

    Cruce con la consulta por usuario para ver qué usuarios son responsables de los costos en cada proyecto.

Mejores prácticas

  1. 1

    Configure alertas de presupuesto por proyecto en la consola de facturación de GCP.

  2. 2

    Use cuentas de facturación separadas o etiquetas para reimputar costos a unidades de negocio.

  3. 3

    Considere usar BigQuery Editions con reservaciones asignadas por proyecto para costos predecibles.

  4. 4

    Revise los costos a nivel de proyecto mensualmente y marque cualquier proyecto con un aumento >20% mes a mes.

¿Quiere que CloudClerk encuentre estos ahorros automáticamente?

Nuestra plataforma se conecta a su proyecto BigQuery, ejecuta estos análisis automáticamente y entrega recomendaciones de optimización impulsadas por IA — todo con sus datos completamente anonimizados.

Guías relacionadas