Introducción a Reservations

BigQuery Reservations te permite cambiar entre precios según demanda y precios de tasa fija. Con los precios de tasa fija, adquieres una capacidad de procesamiento dedicada de consultas. Puedes asignar esta capacidad en toda la organización si reservas grupos de capacidad para diferentes proyectos o partes de la organización. También puedes combinar los dos modelos de facturación y así aprovechar los precios según demanda y de tasa fija.

Descripción general

BigQuery ofrece dos modelos de precios para las estadísticas:

  • Precios según demanda: Pagas por los datos que se analizan en las consultas. El costo se calcula en función de la cantidad de bytes procesados.
  • Precios de tasa fija: Adquieres una capacidad de procesamiento dedicada de consultas.

De forma predeterminada, se te cobra en función del modelo de precios según demanda. Si usas BigQuery Reservations, puedes cambiar al modelo de precios de tasa fija mediante la compra de compromisos. Los compromisos se compran en unidades de ranuras de BigQuery. El precio de todos los bytes procesados se incluye en el precio de tasa fija.

Entre los beneficios de usar BigQuery Reservations, se incluyen los siguientes:

  • Previsibilidad. Los precios de tasa fija ofrecen costos coherentes y predecibles. Sabrás por adelantado cuánto inviertes.

  • Flexibilidad. Tú eliges cuánta capacidad adquirir. Se te cobrará una tasa fija por segundo hasta que borres el compromiso de capacidad. Puedes combinar ambos modelos de facturación. Por ejemplo, puedes ejecutar algunas cargas de trabajo con precios según demanda y otras con precios de tasa fija.

    BigQuery ofrece precios de tasa fija a una tarifa con descuento si adquieres un compromiso mensual o anual mínimo.

  • Administración de cargas de trabajo. Después de comprar ranuras, puedes asignarlas a las cargas de trabajo. De esta manera, una carga de trabajo tiene un grupo dedicado de recursos de procesamiento de BigQuery disponibles para usar. A la vez, si una carga de trabajo no usa todas sus ranuras asignadas, las que no se usen se compartirán de forma automática entre las demás cargas de trabajo.

  • Compras centralizadas. Puedes comprar ranuras y asignarlas en toda la organización. No es necesario que compres ranuras para cada proyecto que use BigQuery.

Compromisos

Conceptos de Reservations.

Un compromiso de capacidad es la compra una capacidad de procesamiento de BigQuery durante un período mínimo. Los compromisos se miden en ranuras de BigQuery, que son una unidad de capacidad de procesamiento. Las ranuras representan una cantidad dinámica de CPU, RAM y memoria distribuida. Por lo general, si compras más ranuras, puedes ejecutar más consultas simultáneas y las consultas complejas se ejecutarán con mayor rapidez.

BigQuery ofrece varios planes de compromisos para elegir. Se diferencian principalmente por el costo y la duración mínima del compromiso. Para obtener información sobre los precios actuales, consulta Precios de tasa fija.

  • Compromiso mensual. Adquieres un compromiso mínimo de 30 días. Después de los 30 días, puedes cancelar el plan en cualquier momento.

  • Compromiso anual. Adquieres un compromiso de 365 días. Puedes elegir si deseas renovar el plan de forma automática, cancelarlo o cambiar a uno diferente después de los 365 días.

  • Ranuras flexibles. Adquieres un compromiso de 60 segundos. Puedes cancelarlo en cualquier momento después de los 60 segundos. Las ranuras flexibles son una buena forma de probar el rendimiento de las cargas de trabajo con la facturación de tasa fija antes de adquirir un compromiso a largo plazo. También son útiles para controlar la demanda por ciclo o por temporada, o para eventos con una carga alta, como la temporada de impuestos.

Sin importar el plan que elijas, las ranuras no vencerán al final del período de compromiso. Puedes conservar las ranuras, y se te cobrará por ellas hasta que las borres. También puedes cambiar el tipo de plan después de la duración mínima.

Las ranuras están sujetas a la disponibilidad de la capacidad. Cuando intentes comprar compromisos de ranuras, no se garantizará el éxito de la compra. Sin embargo, una vez que logres comprar un compromiso, se garantizará la capacidad hasta que lo canceles.

Para obtener más detalles sobre estos planes, consulta Planes de compromiso.

Reservas

Después de comprar ranuras, puedes asignarlas a diferentes depósitos, llamados reservas. Las reservas te permiten asignar las ranuras de formas adecuadas para tu organización en particular.

Por ejemplo, puedes crear una reserva llamada prod para las cargas de trabajo de producción y otra llamada test para las pruebas. De esta manera, los trabajos de prueba no competirán por los recursos que necesitan las cargas de trabajo de producción. O bien, puedes crear reservas para diferentes departamentos de la organización.

Cuando compras ranuras, se crea de forma automática una reserva llamada default. La reserva default no tiene nada de especial; se crea por conveniencia. Puedes decidir si necesitas usar reservas adicionales o solo la reserva predeterminada.

Asignaciones

Para usar las ranuras que compres, deberás asignar proyectos, organizaciones o carpetas a las reservas. Cada nivel de la jerarquía de recursos hereda la asignación del nivel superior, a menos que lo anules. En otras palabras, un proyecto hereda la asignación de su carpeta superior y una carpeta hereda la asignación de su organización. Para obtener más información sobre la jerarquía de recursos de Google Cloud, consulta Jerarquía de recursos.

Cuando se inicia un trabajo desde un proyecto asignado a una reserva, se usan las ranuras de esa reserva para el trabajo. Si un proyecto no se asigna a una reserva (ya sea directamente o mediante la herencia de la organización o la carpeta superior), se usan los precios según demanda para los trabajo de ese proyecto.

Las asignaciones None representan la ausencia de una asignación. Los proyectos con asignaciones None usan los precios según demanda. El caso de uso común para las asignaciones None es asignar una organización a la reserva y asignar None a algunos proyectos o carpetas para inhabilitarlos de esa reserva. Para obtener más información, consulta Otorga una asignación None a un proyecto.

Cuando creas una asignación, debes especificar el tipo de trabajo para esa asignación:

  • QUERY: Usa esta reserva para los trabajos de consulta, incluidas las consultas de SQL, DDL, DML y BigQuery ML.

  • PIPELINE: Usa esta reserva para los trabajos de carga, exportación y otros trabajos de canalización.

    De forma predeterminada, los trabajos de carga y de exportación son gratuitos y usan un grupo compartido de ranuras. BigQuery no garantiza la capacidad disponible de este grupo compartido. Si cargas grandes cantidades de datos, puede que el trabajo deba esperar a que las ranuras estén disponibles. En ese caso, se recomienda comprar ranuras dedicadas y asignarles trabajos de canalización. Te recomendamos crear una reserva dedicada adicional que tenga inhabilitado el uso compartido de ranuras inactivas.

    Cuando los trabajos de carga se asignan a una reserva, pierden acceso al grupo gratuito. Supervisa el rendimiento para asegurarte de que los trabajos tengan suficiente capacidad. De lo contrario, el rendimiento podría ser peor que el que se obtiene con el uso del grupo gratuito.

  • ML_EXTERNAL: Usa esta reserva para las consultas de BigQuery ML que usan servicios externos a BigQuery.

    Ciertas consultas de BigQuery ML usan servicios externos a BigQuery. Para usar ranuras reservadas con estos servicios externos, crea una asignación que tenga el tipo de trabajo ML_EXTERNAL. Para obtener más información, consulta Asigna ranuras a las cargas de trabajo de BigQuery ML.

Programación de ranuras

Las ranuras se distribuyen de manera equitativa entre los proyectos y, luego, en los trabajos del proyecto.

El programador de BigQuery aplica el uso compartido equitativo de ranuras entre proyectos con consultas en ejecución dentro de una reserva y, luego, dentro de los trabajos de un proyecto determinado. El programador proporciona equidad eventual. Puede haber períodos breves en los que algunos trabajos tengan un porcentaje desproporcionado de ranuras, pero el programador lo corregirá con el tiempo. El objetivo del programador es encontrar un punto medio entre ser demasiado agresivo a la hora de expulsar las tareas en ejecución (lo que da como resultado una pérdida de tiempo de ranura) y ser demasiado tolerante (lo que da como resultado que los trabajos con tareas de larga duración obtengan un porcentaje desproporcionado del tiempo de ranura).

Si un trabajo importante necesita más ranuras de las que recibe del programador con regularidad, considera crear una reserva adicional con una cantidad garantizada de ranuras y asignar el trabajo a esa reserva. Para obtener más información, consulta Administración de cargas de trabajo.

Ranuras inactivas

En un momento determinado, es posible que algunas ranuras estén inactivas. Esto puede incluir lo siguiente:

  • Las ranuras que no se asignaron a ninguna reserva
  • Las ranuras que se asignaron a una reserva, pero no se encuentran en uso en el momento

De forma predeterminada, las consultas que se ejecutan en una reserva usan ranuras inactivas de otras reservas de forma automática. Esto significa que un trabajo puede ejecutarse siempre que haya capacidad. La capacidad inactiva se interrumpe de inmediato para la reserva asignada original, según sea necesario. Esto sucede de forma automática en tiempo real.

Si deseas inhabilitar esta funcionalidad y forzar una reserva a usar solo las ranuras que se le aprovisionaron, configura ignore_idle_slots como true. Las reservas que tienen ignore_idle_slots configurado como true no reciben ranuras inactivas.

Siempre que ignore_idle_slots sea falso, una reserva puede tener un recuento de ranuras de 0 y aun así tener acceso a las ranuras sin usar. Si solo usas la reserva default, te recomendamos configurarla de esta manera.

Las asignaciones de tipo ML_EXTERNAL son una excepción al comportamiento que se describió. Las ranuras que usan estos trabajos no son interrumpibles, es decir, no están disponibles para los otros trabajos que se ejecutan en la reserva. Además, estos trabajos no usan ranuras inactivas de otras reservas.

¿Qué sigue?