Comprar y administrar compromisos de ranuras heredadas

La API de BigQuery Reservation te permite comprar ranuras dedicadas (llamadas compromisos), crean grupos de ranuras (llamadas reservas), y asigna proyectos, carpetas y organizaciones a esas reservas.

Un compromiso de capacidad es la compra una capacidad de procesamiento de BigQuery durante un período mínimo. La compra de un compromiso de capacidad es opcional cuando se crea una reserva con una edición, pero puede generar ahorros de costos.

Los compromisos son un recurso regional. Los compromisos adquiridos en una o en varias regiones no se pueden usar en otras regiones ni multirregiones. Los compromisos no se pueden mover entre regiones o entre regiones ni multirregiones.

Habilita la API de Reservations

La API de BigQuery Reservation es distinta de la API de BigQuery existente y debe habilitarse de forma independiente. Si deseas obtener más información, consulta Inhabilita y habilita las API.

  • El nombre de la API es “API de BigQuery Reservations”.
  • El extremo de la API de BigQuery Reservation es bigqueryreservation.googleapis.com.

Habilita la API

Compra ranuras

Para reservar la capacidad por un tiempo mínimo, puedes comprar un compromiso de capacidad. Esto proporciona un descuento y ahorra costos. Para obtener más información sobre los costos específicos, consulta Precios de BigQuery.

Permisos necesarios

Para crear un compromiso de capacidad, necesitas el siguiente permiso de Identity and Access Management (IAM):

Cada una de los siguientes roles predefinidos de IAM incluye este permiso:

  • BigQuery Admin
  • BigQuery Resource Admin

Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Crea un compromiso de capacidad

Los compromisos son un recurso regional. Los compromisos adquiridos en una o en varias regiones no se pueden usar en otras regiones ni multirregiones. Los compromisos no se pueden mover entre regiones ni entre regiones y multirregiones.

Console

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel de navegación, ve a la sección Administración de capacidad.

  3. Haz clic en Crear compromiso.

  4. En Configurar, haz lo siguiente:

    1. Selecciona la ubicación.
    2. En la sección Modelo de capacidad, selecciona el modelo de capacidad.
    3. Selecciona la Duración del compromiso, que especifica tu plan de compromiso.
    4. Si adquieres un compromiso anual, selecciona el Plan de renovación que deseas aplicar cuando venza el compromiso:

      1. No renovar y cambiar a compromiso mensual (configuración predeterminada). Cuando vence el compromiso anual, se convierte en un compromiso mensual.
      2. Renovar anualmente. Cuando vence el compromiso anual, se renueva por otro año como compromiso anual.
      3. No renovar y cambiar a ranuras flexibles. Cuando vence el compromiso anual, se convierte en un compromiso de ranuras flexibles.

      Para obtener más información, consulta Compromisos.

    5. Ingresa la cantidad de ranuras que deseas comprar.

    6. Haz clic en Siguiente.

  5. Revisa la estimación de costos de tu compra.

  6. En Confirmar y enviar, haz lo siguiente:

    1. Escribe CONFIRMAR para confirmar la compra.
    2. Haz clic en Comprar para adquirir las ranuras.
  7. Para ver el compromiso, haz clic en Ver compromisos de ranuras. Después de aprovisionar la capacidad, el compromiso de capacidad solicitado tiene un estado verde.

La primera vez que compras una capacidad, se crea una reserva default.

SQL

Para crear un compromiso de capacidad, usa la declaración DDL CREATE CAPACITY.

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente oración:

    CREATE CAPACITY
      `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`
    OPTIONS (
      slot_count = NUMBER_OF_SLOTS,
      plan = 'PLAN_TYPE');

    Reemplaza lo siguiente:

    • ADMIN_PROJECT_ID es el ID del proyecto del proyecto de administración que mantendrá la propiedad de este compromiso.
    • LOCATION es la ubicación del compromiso.
    • COMMITMENT_ID: El ID del compromiso

      Debe ser único para el proyecto y la ubicación. Debe comenzar y terminar con una letra minúscula o un número, y contener solo letras minúsculas, números y guiones.

    • NUMBER_OF_SLOTS es la cantidad de ranuras que se deben comprar.
    • PLAN_TYPE es el tipo de plan, como FLEX, MONTHLY o ANNUAL.

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

bq

Usa el comando bq mk con la marca --capacity_commitment para comprar ranuras.

bq mk \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --capacity_commitment=true \
    --plan=PLAN_TYPE \
    --slots=NUMBER_OF_SLOTS

Reemplaza lo siguiente:

  • ADMIN_PROJECT_ID es el ID del proyecto del proyecto de administración que mantendrá la propiedad de este compromiso.
  • LOCATION es la ubicación del compromiso.
  • PLAN_TYPE: el tipo de plan, como FLEX, MONTHLYo ANNUAL.
  • NUMBER_OF_SLOTS es la cantidad de ranuras que se deben comprar.

Ve los compromisos de capacidad

Permisos necesarios

Para ver los compromisos, necesitas el siguiente Identity and Access Management (IAM):

Cada una de los siguientes roles predefinidos de IAM incluye este permiso:

  • BigQuery Admin
  • BigQuery Resource Admin
  • BigQuery Resource Editor
  • BigQuery Resource Viewer
  • BigQuery User

Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Ve los compromisos de capacidad por proyecto

Para ver tus compromisos de capacidad por proyecto, haz lo siguiente:

Console

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel de navegación, ve a la sección Administración de capacidad.

  3. Haz clic en la pestaña Slot commitments. Los compromisos de capacidad se enumeran en la tabla en Compromisos.

SQL

Para ver los compromisos de un proyecto de administración, consulta la vista INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT.

  1. En la consola de Google Cloud, vaya a la página de BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente oración:

    SELECT
      capacity_commitment_id
    FROM
      `region-LOCATION`.INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT
    WHERE
      project_id = 'ADMIN_PROJECT_ID'
      AND slot_count = 100;

    Reemplaza lo siguiente:

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

bq

Usa el comando bq ls con la marca --capacity_commitment para enumerar los compromisos de un proyecto de administración.

bq ls \
    --capacity_commitment=true \
    --location=LOCATION \
    --project_id=ADMIN_PROJECT_ID

Reemplaza lo siguiente:

Actualizar compromisos de capacidad

Puedes realizar las siguientes actualizaciones en un compromiso de capacidad:

  • Renovar un compromiso existente.
  • Convertir un compromiso en un plan de compromiso de mayor duración.
  • Dividir un compromiso en dos compromisos.
  • Combinar dos compromisos en un solo compromiso.

Permisos necesarios

Para actualizar los compromisos de capacidad, necesitas el siguiente permiso de Identity and Access Management (IAM):

Cada una de los siguientes roles predefinidos de IAM incluye este permiso:

  • BigQuery Admin
  • BigQuery Resource Admin

Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Renueva un compromiso

Los compromisos anuales tienen un plan de renovación que especificas cuando creas o cambias a un compromiso anual. Puedes cambiar el plan de renovación del compromiso anual en cualquier momento antes de su fecha de finalización.

Console

Puedes cambiar el plan de renovación de un compromiso anual de la siguiente manera:

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel de navegación, ve a la sección Administración de capacidad.

  3. Haz clic en la pestaña Slot commitments.

  4. Busca el compromiso que deseas editar.

  5. Haz clic en Acciones y, luego, selecciona la opción Editar plan de renovación.

  6. Selecciona el nuevo plan de renovación.

bq

Para cambiar la opción de plan de renovación de un compromiso anual, usa el comando bq update con la marca --capacity_commitment y la marca --renewal_plan.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --renewal_plan=PLAN_TYPE \
    --capacity_commitment=true \
    COMMITMENT_ID

Reemplaza lo siguiente:

Convierte un compromiso en uno de mayor duración

Puedes convertir tu compromiso en un tipo de compromiso de mayor duración en cualquier momento:

  • Puedes convertir el compromiso de ranuras flexibles en un compromiso mensual o anual.
  • Puedes convertir tu compromiso de permanencia mensual en uno anual.

Desde el momento en que actualizas el compromiso, se te cobrará la tarifa asociada con el plan nuevo y la fecha de finalización se restablecerá.

Para convertir un compromiso, usa el comando bq update con la marca --plan.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --plan=PLAN_TYPE \
    --renewal_plan=RENEWAL_PLAN \
    --capacity_commitment=true \
    COMMITMENT_ID

Reemplaza lo siguiente:

  • ADMIN_PROJECT_ID: El ID del proyecto
  • LOCATION es la ubicación del compromiso.
  • PLAN_TYPE: el tipo de plan, como FLEX, MONTHLY o ANNUAL.
  • RENEWAL_PLAN: El plan de renovación

    Esto se aplica solo si PLAN_TYPE es ANNUAL. Si PLAN_TYPE es MONTHLY, omite esta marca.

  • COMMITMENT_ID: El ID del compromiso

    Para obtener el ID, consulta Ve los compromisos comprados.

Divide un compromiso

Puedes dividir el compromiso en dos compromisos. Esto puede ser útil si deseas renovar una parte de un compromiso. Por ejemplo, si tienes un compromiso anual de 1,000 ranuras, puedes separar 300 ranuras en un compromiso nuevo y dejar 700 ranuras en el compromiso original. Luego, puedes renovar 700 ranuras con frecuencia anual y convertir 300 ranuras en ranuras flexibles después de la fecha de finalización.

Cuando divides un compromiso, el compromiso nuevo tiene el mismo plan y la misma fecha de finalización del compromiso que el original.

Console

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel de navegación, ve a la sección Administración de capacidad.

  3. Haz clic en la pestaña Slot commitments.

  4. Selecciona el compromiso que deseas dividir.

  5. Haz clic en Dividir.

  6. En la página Split commitment, usa el control deslizante Configure split para seleccionar cuántas ranuras corresponden a cada división, en incrementos de 100 ranuras.

  7. Haz clic en Dividir para dividir el compromiso. El compromiso nuevo se muestra en la pestaña Compromisos de ranuras.

bq

Para dividir los compromisos, usa el comando bq update.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --split \
    --slots=SLOTS_TO_SPLIT \
    --capacity_commitment=true \
    COMMITMENT_ID

Reemplaza lo siguiente:

  • ADMIN_PROJECT_ID: El ID del proyecto
  • LOCATION es la ubicación del compromiso.
  • SLOTS_TO_SPLIT es la cantidad de ranuras que deseas dividir del compromiso original y convertir en un compromiso nuevo.
  • COMMITMENT_ID: El ID del compromiso

    Para obtener el ID, consulta Ve los compromisos comprados.

Combina dos compromisos

Puedes combinar varios compromisos en uno. Todos los compromisos que se combinarán deben ser del mismo tipo (FLEX, MONTHLY, ANNUAL o THREE_YEAR). La fecha de finalización del compromiso combinado es la fecha de finalización máxima de los compromisos originales. Si alguno de los compromisos tiene una fecha de finalización anterior, se extienden hasta la fecha posterior y se te cobra un importe prorrateado por esas ranuras.

Console

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel de navegación, ve a la sección Administración de capacidad.

  3. Haz clic en la pestaña Slot commitments.

  4. Selecciona los compromisos que deseas combinar.

  5. Haz clic en Combinar.

  6. En la página Merge commitments, revisa los detalles de la combinación y haz clic en Combinar. El nuevo compromiso combinado se muestra en la pestaña Slot commitments.

bq

Para combinar dos compromisos en uno, usa el comando bq update:

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --merge=true \
    --capacity_commitment=true \
    COMMITMENT1,COMMITMENT2

Reemplaza lo siguiente:

  • ADMIN_PROJECT_ID: El ID del proyecto
  • LOCATION: la ubicación de los compromisos
  • COMMITMENT1: Es el primer compromiso que se combinará
  • COMMITMENT2: Es el segundo compromiso que se combinará

Borrar un compromiso

Puedes borrar un compromiso de capacidad si su fecha de finalización es anterior. La fecha de finalización del compromiso se muestra en la consola de Google Cloud. Antes de borrar un compromiso, asegúrate de que haya suficientes ranuras sin asignar. De lo contrario, debes disminuir la cantidad de ranuras de una reserva o quitar las reservas por completo.

Permisos necesarios

Para borrar los compromisos de capacidad, necesitas el siguiente Identity and Access Management (IAM):

Cada una de los siguientes roles predefinidos de IAM incluye este permiso:

  • BigQuery Admin
  • BigQuery Resource Admin

Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Borra un compromiso de capacidad

Console

Para borrar un compromiso de capacidad, completa los siguientes pasos:

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel de navegación, ve a la sección Administración de capacidad.

  3. Haz clic en la pestaña Slot commitments.

  4. En la lista desplegable Ubicación, selecciona la ubicación adecuada.

  5. Busca el compromiso que deseas borrar.

  6. Expande la opción Actions.

  7. Haz clic en Borrar.

  8. Escribe “REMOVE” y presiona Continuar (Proceed).

SQL

Para borrar un compromiso de capacidad, usa la declaración DDL DROP CAPACITY.

  1. En la consola de Google Cloud, vaya a la página de BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente oración:

    DROP CAPACITY
      `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`;

    Reemplaza lo siguiente:

    • ADMIN_PROJECT_ID: Es el proyecto que posee el compromiso
    • LOCATION es la ubicación del compromiso.
    • COMMITMENT_ID: El ID del compromiso

      Para obtener el ID, consulta Ve los compromisos comprados.

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

bq

Para borrar un compromiso de capacidad, usa el comando bq rm con la marca --capacity_commitment:

bq rm \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --capacity_commitment=true \
    COMMITMENT_ID

Reemplaza lo siguiente:

  • ADMIN_PROJECT_ID: El ID del proyecto
  • LOCATION: la ubicación del compromiso
  • COMMITMENT_ID es el ID del compromiso que deseas borrar.

    Para obtener el ID, consulta Ve los compromisos comprados.

Soluciona problemas de compromisos de capacidad

En esta sección, se describen los pasos de solución de problemas que pueden resultarte útiles si tienes problemas para usar las reservas de BigQuery.

Las ranuras compradas están pendientes

Las ranuras están sujetas a la capacidad disponible. Cuando compras compromisos de ranuras y BigQuery los asigna, la columna Estado muestra una marca de verificación. Si BigQuery no puede asignar las ranuras solicitadas de inmediato, la columna Estado permanece pendiente. Es posible que tengas que esperar varias horas para que las ranuras estén disponibles. Si necesitas acceder a las ranuras con anterioridad, prueba los siguientes pasos:

  1. Borra el compromiso pendiente.
  2. Compra un compromiso nuevo con una cantidad menor de ranuras. Según la capacidad, el compromiso más pequeño podría activarse de inmediato.
  3. Compra las ranuras restantes como un compromiso independiente. Estas ranuras podrían mostrarse como pendientes en la columna Estado, pero suelen activarse en pocas horas.
  4. Opcional: Sí ambos compromisos están disponibles, puedes combinarlos en un solo compromiso, siempre que compres el mismo plan para ambos.

Si un compromiso de ranuras falla o demora mucho tiempo en completarse, considera usar precios según demanda de manera temporal. Con esta solución, te recomendamos ejecutar consultas críticas en un proyecto diferente que no esté asignado a ninguna reserva, o es posible que debas quitar la asignación del proyecto por completo.