Generated banner for Bigquery Optimization
Generated logo for Bigquery Optimization

Bigquery Optimization

GoogleOfficialPublished by Google

  • Skill
  • Tool integration
  • Cloud and DevOps
  • Apache-2.0
  • No issues found

From the author

Provides workflows to optimize BigQuery environments (capacity planning, editions), storage assets (partitioning, clustering, storage lifecycles, billing models), and SQL queries. Use when optimizing cost, modeling Edition migrations, rightsizing reservations, evaluating logical vs. physical storage, designing table partitioning/clustering, generating table DDL, migrating unpartitioned tables, managing partition expiration, optimizing individual SQL queries, or evaluating acceleration structures (search indexes, materialized views, BI Engine). Do not use for raw usage reporting (use bigquery-observability), query execution plan analysis, error troubleshooting, or diagnosing why a specific job was slow (use bigquery-troubleshooting).
— the description by Google

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The bigquery-optimization skill provides a structured approach to improving the cost-efficiency and performance of Google BigQuery environments. It covers capacity planning for Editions, storage lifecycle and billing model management, table partitioning and clustering strategies, and SQL query refinement. The skill emphasizes manual configuration through the Cloud Console for financial changes while providing templates and guidance for technical optimizations like materialized views, search indexes, and BI Engine acceleration.

What it does

  • Models cost-efficiency for BigQuery Editions and reservation rightsizing.
  • Provides DDL templates for table partitioning, clustering, and storage lifecycle management.
  • Guides the evaluation of physical vs. logical storage billing models.
  • Offers strategies for implementing acceleration structures like materialized views and search indexes.
  • Provides workflows for optimizing individual SQL queries to reduce slot-time and data read.
  • Includes strict guardrails for regional scope and cost-framing terminology.

When to use it

  • When you need to optimize BigQuery storage costs or evaluate billing model changes.
  • When designing table schemas to improve query performance via partitioning and clustering.
  • When migrating workloads between On-Demand and Editions.
  • When troubleshooting high-cost queries or identifying opportunities for BI Engine acceleration.
  • When managing data retention through TTL and partition expiration policies.

Advantages

  • Standardizes optimization practices across capacity, storage, and query layers.
  • Reduces manual research by providing clear decision frameworks for acceleration tools.
  • Ensures safe operations by requiring manual execution for financial or resource-intensive changes.
  • Promotes consistent regional scoping and attribution for all operations.

Usage examples

“How can I optimize storage costs for my dataset in us-east1?”
The agent will guide you through evaluating your storage billing model (logical vs. physical), checking compression ratios, and implementing lifecycle policies to expire old partitions.
“My dashboard is slow; should I use BI Engine or a materialized view?”
The agent will analyze your use case to recommend BI Engine for in-memory acceleration, materialized views for pre-aggregated data, or a combination of both.
“Generate DDL to partition my large unpartitioned table by day.”
The agent will provide the necessary CREATE TABLE or CTAS statements to migrate your data to a partitioned structure while enforcing partition filters.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/google/bigquery-optimization/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip bigquery-optimization.zip -d .agents/skills

Documentation by Google

BigQuery Optimization Workflow

Attribution

MUST READ: Before executing any gcloud, REST API, or MCP command, you MUST read Usage Attribution. For commands executed directly in the terminal (never in generated scripts, Terraform, or user code), prefix gcloud with CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:bigquery-optimization)" and append agent-skills/1.0 (skill:bigquery-optimization) to User-Agent headers.

Prerequisites & Environment Setup

Before executing optimization analyses, evaluating editions, or applying DDL modifications:

  1. Google Cloud SDK: Ensure the Google Cloud SDK is installed and configured.

  2. Project Selection: Set the active Google Cloud project:

    gcloud config set project {project_id}
  3. API Enablement: Ensure BigQuery and BigQuery Reservation APIs are enabled:

    gcloud services enable \
        bigquery.googleapis.com bigqueryreservation.googleapis.com
  4. Authentication: Authenticate the environment:

    • CLI tools and bq commands: gcloud auth login

    • SDKs and automation: gcloud auth application-default login

    • Service accounts: Set GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"

  5. Billing & IAM Roles:

    • Verify an active Google Cloud Billing account is attached to {project_id}.

    • Ensure appropriate IAM roles:

      • roles/bigquery.admin or roles/bigquery.resourceAdmin: Reservation and capacity commitment management.

      • roles/bigquery.dataEditor or roles/bigquery.admin: Modifying table schemas, partitioning, clustering, and storage billing models.

      • roles/bigquery.jobUser: Running evaluation queries.

  6. Companion Skills Installation: This skill is part of a 3-pillar operations suite (bigquery-observability, bigquery-optimization, bigquery-troubleshooting). If any companion skill is not yet installed in your environment, install the full suite:

    npx skills add google/skills --skill bigquery-observability --skill bigquery-optimization --skill bigquery-troubleshooting

    (If bigquery-observability is not installed, use the self-contained baseline formulas and query templates provided directly in the reference sections below).

Workflows

Determine the optimization focus of the user's request and follow the relevant workflow:

  • Telemetry & Observability Baseline: For direct raw usage telemetry, INFORMATION_SCHEMA queries, and baseline metric calculations, consult bigquery-observability (bigquery_observability). If the bigquery-observability companion skill is not available in the active environment, all optimization guidelines, DDL templates, and decision models across this skill and its reference guides are fully self-contained.

  • Capacity & Editions Modeling: Evaluate the cost-efficiency of migrating workloads from On-Demand to Editions, as well as rightsizing active Edition reservations, baseline commitments, and autoscaling caps.

    • Instructions: Read references/capacity_planning_editions.md to provide deep links to BigQuery's built-in recommendation UIs (e.g., Slot Estimator) and guide the user through UI navigation: 1. navigate to the Slot Estimator tab, 2. select 'On-Demand' as the source to analyze historical query volume, and 3. review the Cost-Optimized Recommendations and Slot Usage Chart.

  • Table & Storage Optimization: Optimize storage costs from a billing model, physical layout, and lifecycle perspective.

    • Billing Architecture: Read references/storage_billing_models.md for guidance on evaluating aggregate compression ratios (e.g. >2:1 threshold in US) to recommend Physical vs. Logical billing, noting that the break-even ratio depends on specific regional rates and custom enterprise contracts. When providing TABLE_STORAGE queries, always scope with WHERE table_schema = '{dataset_id}', use the regional dataset view, and warn that 0 rows indicates a region mismatch or lack of native tables rather than zero billable usage.

    • Partitioning & Clustering Strategy: Read references/table_partitioning_clustering.md to generate production DDL templates (CREATE TABLE, CTAS migrations for unpartitioned tables, and modifying clustering specifications), enforce pruning with require_partition_filter = true, and manage partition limits (up to 10,000 partitions/table).

    • Lifecycle Management: Read references/storage_lifecycle_management.md to pinpoint inactive data and define precise Time-to-Live (TTL) partition expirations, dataset expirations, and Time Travel window reductions.

    • Acceleration Structures: Read references/search_indexes.md to decide when to propose a search index for selective lookups over STRING or JSON data, write the CREATE SEARCH INDEX DDL, and tell the user how to verify index coverage and usage. Read references/materialized_views.md to decide when to propose a materialized view for repeated aggregations or joins over large base tables, write the CREATE MATERIALIZED VIEW DDL, and tell the user how to verify that smart tuning uses it. Read references/bi_engine.md to decide when to propose BI Engine vs. Materialized Views for BI dashboard acceleration, diagnose PARTIAL or DISABLED BI Engine fallback reasons (bi_engine_statistics), and combine BI Engine with materialized views that pre-join or pre-aggregate the data.

  • SQL Optimization: Optimize individual SQL queries to reduce slot-time and the amount of data read.

    • Instructions: Follow the instructions in references/sql_optimization.md to provide recommendations to the user on how to rewrite their SQL query to reduce slot-time and the amount of data read.

Execution Guardrails

  • Terminology & Cost Framing: Never promise or guarantee "cost-reduction" or "reducing expenditure." Always frame recommendations using the terminology "optimizing your bill" or "improving cost-efficiency."

  • Explicit Scope Framing & Region Resolution: Always state the target project_id and region at the very top of your response so the user immediately knows the exact scope being evaluated. Follow this 3-tier resolution hierarchy:

    1. Explicit Region: Use the region specified in the user's prompt (e.g., europe-west1).

    2. Contextual Region: Resolve the region from the specific dataset or resource mentioned in the context.

    3. Unspecified Fallback: Default to us / region-us, explicitly state that us was assumed as the default, and instruct the user to substitute their region if their resources reside elsewhere. Region Formatting: In Cloud Console deep links, use the region identifier directly (e.g., region=us, region=europe-west1). In SQL queries against INFORMATION_SCHEMA, use the regional dataset qualifier (e.g., region-us, region-europe-west1).

  • Zero-Row Result Guard: If querying TABLE_STORAGE with WHERE table_schema = '{dataset_id}' returns 0 rows, do not proceed with an empty or zero-usage evaluation. Treat this as an indicator that the dataset may reside in a different region or have no native tables; stop and prompt the user to confirm the dataset's regional location.

  • Populate Concrete Parameters: When generating URLs and SQL queries, always substitute known project_id and region values directly into the code and links. Never leave literal {project_id} or {location} placeholders for the user to manually edit.

  • No Autonomous Purchasing or Financial Mutations: Never provide the user with executable scripts (e.g., gcloud or bq shell commands like bq update --storage_billing_model=...) designed to autonomously purchase annual commitments, alter edition tier bindings, or mutate storage billing models. Always guide the user to execute commitment purchases, reservation changes, and storage billing model updates manually via the Cloud Console UI.

Files

references/capacity_planning_editions.md

Compute Capacity Planning (Editions Migration & Rightsizing)

Guidelines for Org Admins and billing owners on evaluating On-Demand to Edition migrations, as well as rightsizing active Edition reservations and commitments.

Table of Contents

  • Framing & Guardrails (Lines 17-35)

  • 1. Unified Slot Estimator Engine (Lines 37-55)

  • 2. On-Demand to Editions Migration (Lines 57-94)

    • Slot Estimator Migration Deep Links (Lines 63-77)

    • Navigation & Workload Profiling (Lines 79-94)

  • 3. Existing Edition Capacity Rightsizing (Lines 96-138)

    • Slot Estimator Rightsizing Deep Links (Lines 102-114)

    • Edition-Level Rightsizing Decision Playbook (Lines 116-138)

Framing & Guardrails

When discussing cost or capacity optimizations, adhere to these central rubrics:

  • Terminology & Framing: Never promise or guarantee "cost-reduction." Always use the terminology "optimizing your bill" or "improving cost-efficiency."

  • No Manual ROI Calculations: Do not attempt manual mathematical formulas or spreadsheet-style ROI calculations to estimate Edition costs. BigQuery's built-in Slot Estimator UI simulates historical workloads with fine-grained precision. Always direct the user to the UI deep links and diagnostic queries.

  • Direct Deep Links & Parameter Formatting: Always populate concrete project_id and region parameters directly into Cloud Console deep links. In Cloud Console URLs, use the bare region identifier (e.g., region=us, region=europe-west1), omitting any region- prefix.

  • No Autonomous Purchasing: Guide the user to execute commitment and reservation changes manually in the Cloud Console. Never output executable purchase scripts (gcloud, bq).

1. Unified Slot Estimator Engine

The underlying mathematical mechanism of the Slot Estimator is identical across both On-Demand migrations and existing Edition rightsizing:

  • 30-Day Workload Ingestion: The engine analyzes up to 30 days of historical workload telemetry. For On-Demand, it models bytes billed and processed into equivalent slot demand; for Editions, it reads historical slot utilization per reservation.

  • Performance Continuity: The recommender assumes no performance degradation. It sets the combined recommended capacity (Baseline Commitment + Autoscale Max) to cover the observed P99 slot demand over the 30-day period.

  • Autoscaler Simulation: The engine simulates the autoscaler across each discrete time unit, testing every combination of baseline and autoscale limits that sum up to that P99 usage.

  • Cost-Optimization: Among all viable combinations that satisfy the P99 performance target, the UI isolates and presents the single lowest-cost commitment and autoscaling configuration.

2. On-Demand to Editions Migration

Use when a project is currently on On-Demand billing and wants to evaluate whether migrating to Editions (Standard, Enterprise, Enterprise Plus) improves cost-efficiency.

Provide the direct deep link with source=EDITION_UNSPECIFIED:

  • Project-Level On-Demand Recommendations:

    https://console.cloud.google.com/bigquery/admin/reservations;region={region}/slot-estimator;source=EDITION_UNSPECIFIED;resourceType=PROJECT;resource={project_id}?project={project_id}
  • Organization-Level On-Demand Recommendations:

    https://console.cloud.google.com/bigquery/admin/reservations;region={region}/slot-estimator;source=EDITION_UNSPECIFIED;resourceType=ORGANIZATION;resource={project_id}?project={project_id}
Navigation & Workload Profiling
  1. Instruct the user to navigate to the Slot Estimator tab in the Capacity Management UI.

  2. Select On-Demand as the source from the selection panel.

  3. Review the Cost-Optimized Recommendations and the Slot Usage Chart, comparing Pay-As-You-Go against 1-year and 3-year capacity commitments.

  4. Workload Profiling Strategy:

    • Steady Baseline Workloads: Workloads with flat, continuous slot demand throughout the day (e.g., constantly utilizing 400 slots). These are prime candidates for Edition commitments (1-Year or 3-Year CUDs) to maximize cost-efficiency (~40% discount).

    • Spiky Workloads: Workloads requiring zero or few slots for most hours with sharp bursts. These benefit from low baseline allocations and dynamic autoscaling, but require conservative autoscaling caps to avoid unexpected burst costs.

3. Existing Edition Capacity Rightsizing

Use when an organization is already running on BigQuery Editions and wants to audit active Edition capacity, right-size commitment purchases (CUDs), and eliminate uncovered baseline PAYG waste.

Provide the direct deep link targeting the specific edition:

  • Edition Rightsizing Recommendations:

    https://console.cloud.google.com/bigquery/admin/reservations;region={region}/slot-estimator;source={edition}?project={admin_project_id}

    (Where {edition} is ENTERPRISE or ENTERPRISE_PLUS; Standard Edition does not support commitments and does not generate recommendations in the Slot Estimator)

Edition-Level Rightsizing Decision Playbook
  1. Eliminate Uncovered Baseline PAYG Slots:

    • Issue: Total baseline slots configured across reservations in an Edition exceed active capacity commitments (total_baseline_slots > committed_slots). The uncovered baseline slots are billed 24/7 at standard Pay-As-You-Go (PAYG) rates.

    • Action: Purchase 1-year or 3-year Capacity Commitments at the Edition level to cover the baseline capacity gap at discounted rates (~40% discount).

  2. Right-Size Total Edition Commitments to Steady Baseline:

    • Issue: Commitments are purchased and managed at the Edition level, but the aggregate steady-state slot demand across all reservations in the Edition may have evolved.

    • Action: Use the Slot Estimator to align 1-Year/3-Year commitments with the aggregate continuous baseline floor of the Edition, allowing dynamic autoscaling to absorb variable query demand above that floor.

  3. Audit Excess Commitment Over-Provisioning:

    • Issue: Purchasing commitments that exceed aggregate slot utilization across the Edition results in paying for unused committed capacity.

    • Action: Review the Slot Estimator's 30-day historical usage chart for the Edition to ensure commitment renewals and purchases do not exceed the true steady-state demand floor.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs a command-line tool, Needs Node.js

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Google
Publisher
Google (Official)
Source
google/skills · skills/cloud/bigquery-optimization · commit 2194d3b
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Google or Google.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download bigquery-optimization.zip