Présentation des anciennes réservations

Les réservations BigQuery vous permettent de passer de la tarification à la demande à la tarification basée sur la capacité. Avec la tarification basée sur la capacité, vous payez pour la capacité de traitement de requêtes dédiée ou avec autoscaling, plutôt que pour chaque requête.

Les réservations vous permettent d'allouer de la capacité de requête, mesurée en emplacements, à différentes charges de travail ou à différentes parties de votre organisation.

La création d'un engagement de capacité est facultative lorsque vous utilisez des réservations qui exploitent des éditions BigQuery, mais vous permet de réduire les coûts liés aux charges de travail stables.

Présentation

BigQuery propose deux modèles de tarification de calcul (analyse) :

Par défaut, BigQuery est facturé en fonction du modèle de tarification à la demande. À l'aide des réservations, vous pouvez passer à une tarification basée sur la capacité, utiliser l'autoscaling des emplacements et souscrire des engagements de capacité à tarif réduit. Les octets traités en utilisant le modèle basé sur la capacité ne sont soumis à aucuns frais.

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 la tarification en fonction de la capacité. Étant donné que le modèle de facturation est spécifié par projet, cela suppose d'utiliser plusieurs projets pour vos jobs de requête.

Avantages des réservations

Voici les avantages qu'offrent les réservations BigQuery :

  • Prévisibilité. La tarification en fonction de la capacité offre des coûts prévisibles et cohérents. Vous spécifiez votre budget maximal à l'avance et pouvez également profiter d'engagements d'emplacements, qui permettent de bénéficier d'une capacité continue et dédiée, à prix réduit.

  • Flexibilité. Vous choisissez la capacité dédiée à allouer à une charge de travail, ou bien vous laissez BigQuery définir un scaling automatique de la capacité en fonction des besoins liés à vos charges de travail. La facturation s'effectue à hauteur des emplacements consommés, avec une facturation minimale par tranches d'une seconde.

  • Gestion des charges de travail. Chaque charge de travail dispose d'un pool spécifié de ressources de calcul BigQuery, qui peuvent être mobilisées. En parallèle, si une charge de travail n'utilise pas tous les emplacements qui lui sont dédié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.

Réservations

La capacité de BigQuery est mesurée en emplacements, qui représentent les processeurs virtuels utilisés par les requêtes. En général, si vous provisionnez plus d'emplacements, vous pouvez exécuter plus de requêtes simultanées, et les requêtes complexes peuvent s'exécuter plus rapidement.

Les emplacements sont alloués dans des pools 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.

Les réservations peuvent inclure des emplacements de base, qui sont toujours alloués, ainsi que des emplacements avec autoscaling, qui sont ajoutés ou supprimés de manière dynamique. en fonction des demandes de votre charge de travail.

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

Pour utiliser les emplacements que vous allouez, vous devez attribuer un ou plusieurs projets à 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 dans une réservation est gérée par le programmeur BigQuery.

Devoirs

Pour utiliser les emplacements que vous allouez, 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 jobs de chargement et d'extraction.

    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.

  • BACKGROUND : utilisez cette réservation lorsque vous choisissez d'utiliser votre propre réservation pour exécuter vos jobs de gestion des index de recherche BigQuery ou vos jobs en arrière-plan de capture de données modifiées (CDC) de BigQuery. Utilisez également cette réservation lorsque vous répliquez des bases de données sources vers BigQuery avec les opérations d'application en arrière-plan de Datastream. Les réservations BACKGROUND ne sont pas disponibles dans l'édition Standard.

  • ML_EXTERNAL : utilisez cette réservation pour les requêtes BigQuery ML, qui utilisent des services externes à BigQuery. Pour en savoir plus, consultez la section Attribuer des emplacements aux charges de travail BigQuery ML. Les réservations ML_EXTERNAL ne sont pas disponibles dans l'édition Standard.

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.

Engagements

Concepts de réservation.

Un engagement de capacité correspond à l'achat d'une capacité fixe de calcul BigQuery, pour une durée minimale. Les engagements de capacité sont facultatifs pour les réservations créées avec une édition, mais ils peuvent réduire les coûts des charges de travail régulières.

BigQuery propose plusieurs forfaits. Leurs principales différences sont le coût et la durée minimale de votre engagement. Pour obtenir des informations sur la tarification actuelle, consultez la section Tarifs en fonction de l'engagement de capacité.

  • 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.

Allocation d'emplacements dans les réservations

BigQuery alloue la capacité d'emplacements dans une seule réservation à l'aide d'un algorithme appelé planification équitable.

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. Par exemple :

  • Les engagements d'emplacements qui ne sont alloués à aucune réservation.
  • Les emplacements qui sont alloués à une référence de 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 du même projet d'administration. Cela signifie qu'une tâche peut toujours s'exécuter tant qu'elle dispose d'une capacité suffisante. 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.

Vous ne pouvez pas partager des emplacements inactifs entre des réservations d'éditions différentes. Vous ne pouvez partager que les emplacements de référence ou les emplacements validés. Les emplacements avec autoscaling peuvent être temporairement disponibles, mais ne peuvent pas être partagés, car ils peuvent réduire la capacité.

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. Vous pouvez ensuite attribuer un projet ou un dossier à cette réservation, qui n'utilisera que des emplacements inactifs.

Les attributions de type ML_EXTERNAL font exception au comportement décrit ci-dessus. Les emplacements utilisés par les jobs de création de modèles externes de BigQuery ML ne sont pas préemptifs. En d'autres termes, les emplacements d'une réservation ayant à la fois des types d'attribution ml_external et query ne sont disponibles que pour les autres jobs de requête lorsque les emplacements ne sont pas occupés par les jobs ML_EXTERNAL. 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.
  • Chaque organisation peut avoir jusqu'à dix projets d'administration avec des engagements actifs dans un seul emplacement.
  • 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.
  • Les engagements acquis dans un projet d'administration ne peuvent pas être transférés vers un autre projet d'administration.
  • Les engagements acquis avec une édition ne peuvent pas être utilisés avec des réservations d'une autre édition.
  • Les emplacements inactifs ne sont pas partagés entre les réservations d'éditions différentes.
  • Les emplacements avec autoscaling ne peuvent pas être partagés, car ils subissent un scaling à la baisse lorsqu'ils ne sont plus nécessaires.

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 ; vous ne payez que pour les réservations et les engagements. 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.

Étapes suivantes