Présentation de Reservations

BigQuery Reservations vous permet de basculer entre la tarification à la demande et la tarification forfaitaire. Avec la tarification forfaitaire, vous achetez une capacité dédiée au traitement de requêtes. Vous pouvez allouer cette capacité dans toute votre organisation, en réservant des pools de capacité pour différents projets ou différentes parties de votre organisation. Vous pouvez également combiner les deux modèles de facturation, en tirant parti des tarifs à la demande et forfaitaires.

Présentation

BigQuery propose deux modèles de tarification pour les analyses :

Par défaut, BigQuery est facturé en fonction du modèle de tarification à la demande. BigQuery Reservations vous permet de passer aux tarifs forfaitaires en souscrivant des engagements. Les engagements sont souscrits en unités d'emplacements BigQuery. Le coût de tous les octets traités est inclus dans le tarif forfaitaire.

Voici les avantages qu'offre BigQuery Reservations :

  • Prévisibilité. Les tarifs forfaitaires permettent de bénéficier de coûts identiques et prévisibles. Vous savez à l'avance ce que vous dépensez.

  • Flexibilité. Vous choisissez la capacité à acheter. Un tarif forfaitaire par seconde vous est facturé jusqu'à ce que vous supprimiez l'engagement de capacité. Vous pouvez combiner les deux modèles de facturation. Par exemple, vous pouvez exécuter certaines charges de travail avec une tarification à la demande et d'autres avec des tarifs forfaitaires.

    BigQuery propose des tarifs forfaitaires à prix réduit si vous souscrivez un engagement minimal mensuel ou annuel.

  • Gestion des charges de travail. Une fois que vous avez acheté des emplacements, vous pouvez les allouer à des charges de travail. De cette façon, une charge de travail dispose d'un pool dédié de ressources de calcul BigQuery disponibles pour utilisation. En parallèle, si une charge de travail n'utilise pas tous les emplacements qui lui sont alloués, les emplacements inutilisés sont partagés automatiquement entre vos autres charges de travail.

  • Achat centralisé. Vous pouvez acheter des emplacements et les allouer à l'ensemble de votre organisation. Vous n'avez pas besoin d'acheter des emplacements pour chaque projet utilisant BigQuery.

Engagements

Concepts de réservation.

Un engagement de capacité est un achat de capacité de calcul BigQuery pour une durée minimale. Les engagements sont mesurés en emplacements BigQuery, qui sont une unité de capacité de calcul. Un emplacement représente un processeur virtuel utilisé par BigQuery. En général, si vous achetez plus d'emplacements, vous pouvez exécuter plus de requêtes simultanées, et les requêtes complexes peuvent s'exécuter plus rapidement.

BigQuery propose plusieurs forfaits. Leurs principales différences sont le coût et la durée minimale de votre engagement. Pour en savoir plus sur la tarification actuelle, consultez la section Tarifs forfaitaires.

  • Engagement annuel. Vous souscrivez un engagement de 365 jours. Passé ce délai, vous pouvez choisir de le renouveler ou de passer à un type d'engagement différent.

  • Engagement mensuel. Vous souscrivez un engagement d'une durée minimale de 30 jours. Passé ce délai, vous pouvez le supprimer à tout moment.

  • Emplacements Flex. Vous souscrivez un engagement de 60 secondes. Vous pouvez le supprimer à tout moment après 60 secondes. Les emplacements Flex sont un bon moyen de tester les performances de vos charges de travail avec une facturation forfaitaire, avant de souscrire un engagement à plus long terme. Ils sont également utiles pour gérer la demande cyclique ou saisonnière, ou pour les événements avec des pics de charge comme la période fiscale.

Quel que soit le forfait que vous choisissez, vos emplacements n'expirent pas à la fin de la période d'engagement. Vous conservez les emplacements, et ils vous sont facturés jusqu'à ce que vous les supprimiez. Vous pouvez également changer de type de forfait après la durée minimale.

L'attribution des emplacements dépend de la disponibilité en capacité. Lorsque vous tentez d'acheter des engagements d'emplacements, vous ne pouvez pas être sûr que vous les obtiendrez. Cependant, une fois que votre engagement est accepté, votre capacité est garantie jusqu'à ce que vous supprimiez l'engagement.

Pour en savoir plus sur ces forfaits, consultez la section Forfaits.

Réservations

Une fois que vous avez acheté des emplacements, vous pouvez les attribuer à des buckets différents, appelés réservations. Les réservations vous permettent d'attribuer les emplacements d'une manière adaptée à votre organisation.

Par exemple, vous pouvez créer une réservation appelée prod pour les charges de travail de production, et une réservation séparée appelée test pour les tests. Ainsi, vos tâches de test ne se disputent pas les ressources dont vos charges de travail de production ont besoin. Vous pouvez également créer des réservations pour différents départements dans votre organisation.

Une réservation appelée default est automatiquement créée lorsque vous achetez des emplacements. La réservation default n'a rien de spécial, elle est créée pour des raisons de commodité. Vous pouvez décider si vous avez besoin de réservations supplémentaires ou simplement utiliser la réservation par défaut.

Pour utiliser les emplacements que vous achetez, vous devez attribuer un projet à une réservation, comme décrit dans la section suivante.

Une réservation est le niveau le plus bas auquel vous pouvez spécifier une allocation d'emplacements. L'allocation d'emplacements pour les attributions dans une réservation est gérée par le programmeur BigQuery.

Devoirs

Pour utiliser les emplacements que vous achetez, vous devez attribuer un ou plusieurs projets, dossiers ou organisations à une réservation. Chaque niveau de la hiérarchie des ressources hérite de l'attribution du niveau supérieur. En d'autres termes, si aucun projet ni dossier n'est attribué, le projet ou le dossier hérite de l'attribution de son dossier parent ou de son organisation, le cas échéant. Pour en savoir plus sur la hiérarchie des ressources, consultez la page Organiser les ressources BigQuery.

Lorsqu'une tâche est démarrée à partir d'un projet attribué à une réservation, elle utilise les emplacements de cette réservation. Si un projet n'est pas attribué à une réservation (soit directement, soit en héritant de son dossier parent ou de son organisation), les tâches de ce projet utilisent la tarification à la demande.

Les attributions None représentent l'absence d'attribution. Les projets dont l'attribution est None utilisent la tarification à la demande. Le cas d'utilisation courant des attributions None consiste à attribuer une organisation à la réservation et à désactiver certains projets ou dossiers de cette réservation en les attribuant à None. Pour en savoir plus, consultez la section Définir l'attribution "None" pour un projet.

Lorsque vous créez une attribution, vous spécifiez son type de tâche :

  • QUERY : utilisez cette réservation pour les tâches de requête, y compris les requêtes SQL, LDD, LMD et BigQuery ML.

  • PIPELINE : utilisez cette réservation pour les tâches de chargement et d'extraction, et pour les autres tâches de pipeline.

    Par défaut, les tâches de chargement et d'extraction sont gratuites et utilisent un pool d'emplacements partagé. BigQuery ne garantit pas la capacité disponible de ce pool partagé, ni le débit obtenu. Si vous chargez de grandes quantités de données, votre tâche risque de devoir attendre que des emplacements deviennent disponibles. Dans ce cas, vous pouvez acheter des emplacements dédiés et leur attribuer des tâches de pipeline. Nous vous recommandons de créer une réservation dédiée supplémentaire en désactivant le partage d'emplacements inactifs.

    Lorsque des tâches de chargement sont attribuées à une réservation, elles perdent l'accès au pool gratuit. Surveillez les performances pour vous assurer que les tâches disposent d'une capacité suffisante. Sinon, les performances risquent d'être inférieures à celles du pool gratuit.

  • ML_EXTERNAL : utilisez cette réservation pour les requêtes BigQuery ML, qui utilisent des services externes à BigQuery.

    Certaines requêtes BigQuery ML utilisent des services externes à BigQuery. Pour utiliser des emplacements réservés avec ces services externes, créez une attribution avec le type de tâche ML_EXTERNAL. Pour en savoir plus, consultez la section Attribuer des emplacements aux charges de travail BigQuery ML.

Vous ne pouvez pas allouer d'emplacements à des attributions spécifiques. Le programmeur BigQuery gère l'allocation d'emplacements pour les attributions dans une réservation.

Planification des emplacements

Les emplacements sont répartis équitablement entre les projets, puis entre les tâches des projets.

Le programmeur BigQuery applique un partage équitable des emplacements entre les projets avec des requêtes en cours d'exécution au sein d'une réservation, puis entre les tâches d'un projet donné. Le programmeur assure une équité à terme. Certaines tâches peuvent obtenir une part disproportionnée des emplacements pendant un court laps de temps, mais il finit par corriger cette inégalité. L'objectif du programmeur est de trouver un juste milieu entre un comportement trop agressif avec l'éviction de tâches en cours d'exécution (ce qui entraînerait un gaspillage du temps d'utilisation des emplacements) et une attitude trop indulgente (où les tâches de longue durée obtiendraient une part disproportionnée du temps d'utilisation des emplacements).

Si une tâche importante a toujours besoin d'un nombre d'emplacements supérieur à celui qu'elle reçoit du programmeur, envisagez de créer une réservation supplémentaire avec un nombre garanti d'emplacements et d'attribuer la tâche à cette réservation. Pour en savoir plus, consultez la section Gérer les charges de travail à l'aide de Reservations.

Emplacements inactifs

Certains emplacements peuvent être inactifs à n'importe quel moment. Ceux-ci peuvent inclure :

  • Les emplacements qui ne sont attribués à aucune réservation
  • Les emplacements qui sont attribués à une réservation, mais qui ne sont pas utilisés actuellement

Par défaut, les requêtes exécutées dans une réservation utilisent automatiquement les emplacements inactifs des autres réservations. Cela signifie qu'une tâche peut toujours s'exécuter tant qu'elle dispose d'une capacité suffisante. Les requêtes lancées avec des emplacements à la demande utilisent les emplacements inactifs associés à d'autres réservations avant de compenser la différence avec des emplacements à la demande. Si nécessaire, la capacité inactive est immédiatement préemptée au profit de la réservation attribuée initialement, quelle que soit la priorité de la requête nécessitant les ressources. Cela se produit automatiquement et en temps réel.

Pour désactiver cette fonctionnalité et forcer une réservation à n'utiliser que les emplacements qui lui sont provisionnés, définissez ignore_idle_slots sur true. Les réservations dont ignore_idle_slots est défini sur true ne reçoivent pas d'emplacements inactifs.

Tant que ignore_idle_slots est défini sur "false", une réservation peut avoir un nombre d'emplacements de 0 et avoir toujours accès aux emplacements inutilisés. Si vous n'utilisez que la réservation default, nous vous recommandons de la configurer ainsi.

Les attributions de type ML_EXTERNAL font exception au comportement décrit ci-dessus. Les emplacements utilisés par les tâches de création de modèles externes BigQuery ML ne sont pas préemptifs. En d'autres termes, ils ne sont pas disponibles pour les autres tâches exécutées dans la réservation tant qu'ils ne sont pas libérés. En outre, ces tâches n'utilisent pas les emplacements inactifs d'autres réservations.

Limites

  • Les réservations que vous achetez ne peuvent pas être partagées avec d'autres organisations.
  • Vous devez créer une réservation distincte ainsi qu'un projet d'administration distinct pour chaque organisation.
  • Le nombre de projets d'administration par organisation est limité à cinq pour un engagement actif dans un emplacement donné.
  • La capacité d'inactivité ne peut pas être partagée entre des organisations ou entre différents projets d'administration au sein d'une même organisation.
  • Les engagements sont une ressource régionale. Les engagements acquis dans une région ou un ensemble multirégional ne peuvent pas être utilisés dans une autre région ou un autre ensemble multirégional. Les engagements ne peuvent pas être déplacés d'une région à une autre ou d'une région à une autre.

Quotas

Votre quota d'emplacements correspond au nombre maximal d'emplacements que vous pouvez acheter dans un emplacement. Les quotas ne vous sont pas facturés ; seuls les engagements achetés le sont. Pour en savoir plus, consultez la page Quotas et limites de réservation. Pour savoir comment augmenter votre quota d'emplacements, consultez la page Demander une augmentation de quota.

Tarifs

Pour en savoir plus sur la tarification des réservations, consultez la section Tarifs forfaitaires.

Étape suivante