Gérer la charge de travail à l'aide de réservations

Choisir entre les modèles de facturation à la demande et forfaitaires

Vous pouvez à tout moment choisir de basculer entre les modèles de facturation à la demande et forfaitaires ou opter pour une combinaison des deux modèles. Les deux modèles de tarification sont complémentaires. La facturation à la demande est efficace, alors que la facturation forfaitaire est prévisible.

Compromis des réservations.

Si vous optez pour la tarification forfaitaire, vous devez prendre en compte les facteurs suivants :

  • Coût. Google recommande de maintenir vos dépenses d'analyses mensuelles dans la fourchette de l'engagement minimal forfaitaire de BigQuery, actuellement fixé à 500 emplacements par mois.
  • Efficacité. Optez pour la tarification à la demande si vous recherchez le juste prix, car vous payez à la requête.
  • Prévisibilité. Optez pour la tarification forfaitaire si vous préférez la prévisibilité d'un prix fixe facturé au mois.
  • Ressources. La capacité accessible est différente selon le modèle de facturation choisi, forfaitaire ou à la demande. Pour plus d'informations, consultez la section Estimer le nombre d'emplacements à acheter.

Décision de réservation.

En tant que nouveau client, vous pouvez choisir de commencer par un forfait. Vous pouvez à tout moment connaître le montant de vos dépenses si vous aviez choisi la facturation à la demande, et opter pour le modèle qui vous convient.

Vous pouvez décider de combiner plusieurs modèles de facturation à la demande et forfaitaire :

  • Optez pour la facturation à la demande pour les charges de travail prévisibles telles que le traitement périodique des données et les opérations d'extraction, de chargement et de transformation (ELT).
  • Utilisez la facturation forfaitaire pour les analyses ponctuelles et les charges de travail data science.

Estimer le nombre d'emplacements à acheter

BigQuery est conçu pour évoluer linéairement avec des ressources accrues. En fonction de la charge de travail, la capacité incrémentielle peut vous apporter des avantages supplémentaires. Par conséquent, le choix du nombre optimal d'emplacements à acheter dépend de vos préférences en termes de performances, de débit et d'utilisation.

Pour déterminer le nombre maximal d'emplacements à acheter, vous devez examiner l'utilisation actuelle des emplacements de vos projets, ainsi que le prix mensuel que vous êtes prêt à payer. Les charges de travail à la demande ont actuellement une limite approximative de 2 000 emplacements. Cependant, nous vous conseillons de vérifier le nombre d'emplacements réellement utilisés par vos projets à l'aide de Stackdriver Logging, de l'API Jobs ou des journaux BigQuery. Pour en savoir plus, consultez la section Visualiser les emplacements disponibles et alloués.

Chronologie d'utilisation des emplacements.

Premiers pas avec BigQuery Reservations

Pour commencer à utiliser BigQuery Reservations, suivez le guide de démarrage rapide de BigQuery et sélectionnez votre projet d'administration.

Vous devez ensuite acheter des emplacements et attribuer votre organisation à la réservation. Si vous n'effectuez pas ces opérations, les tarifs à la demande seront toujours facturés à votre organisation.

Acheter des emplacements

Console

  1. Dans Google Cloud Console, accédez à l'UI Web de BigQuery.

    Accéder à l'UI Web de BigQuery

  2. Dans le panneau de navigation, accédez à la section Reservations. Bouton de navigation des réservations.
  3. Cliquez sur le bouton Buy Slots (Acheter des emplacements). Acheter des emplacements.
  4. Sélectionnez Monthly comme durée d'engagement. Sélectionner mensuel.
  5. Sélectionnez US comme région.
  6. Saisissez 500 comme nombre d'emplacements.
  7. Vérifiez et validez votre commande en saisissant CONFIRM, puis en sélectionnant PURCHASE. Saisir confirmer.
  8. Patientez quelques minutes, le temps de provisionner la capacité. Une fois la capacité provisionnée, l'état de l'engagement de capacité demandé s'affiche en vert. Engagements d'emplacements.

Lors du premier achat de capacité, une réservation default est créée. L'étape suivante consiste à attribuer votre organisation à la réservation.

Attribuer l'organisation à la réservation

Console

  1. Dans Google Cloud Console, accédez à l'UI Web de BigQuery.

    Accéder à l'UI Web de BigQuery

  2. Cliquez sur la section Reservations. Bouton de navigation des réservations.
  3. Cliquez sur l'onglet Assignments (Attributions). Onglet Attributions.
  4. Dans la section Search and create assignments (Rechercher et créer des attributions), cliquez sur le bouton Browse (Parcourir), puis sélectionnez votre organisation. Outil de sélection de projets pour les attributions.
  5. Dans l'outil de sélection Reservation (Réservation), sélectionnez la réservation dont le nom se finit par default. Outil de sélection d'attributions de réservation.
  6. Cliquez sur Create (Créer).

CLI

Utilisez la commande bq mk avec l'indicateur --reservation_assignment pour attribuer les tâches de requête d'une organisation à une réservation.

bq mk \
  --project_id=admin_project_id \
  --location=US \
  --reservation_assignment \
  --reservation_id=admin_project_id:US.default \
  --job_type=QUERY \
  --assignee_id=organization_id \
  --assignee_type=ORGANIZATION

Où :

  • admin_project_id correspond au propriétaire de projet de la ressource de réservation.

  • organization_id est votre identifiant d'organisation.

Créer des réservations supplémentaires avec des emplacements réservés

Lorsqu'une organisation est attribuée à une réservation, tous les projets utilisant BigQuery partagent équitablement ces emplacements. Selon la charge de travail, le partage d'emplacements avec d'autres charges de travail peut poser problème. Par exemple, il n'est pas souhaitable qu'une charge de travail de production partage des emplacements de manière égale avec des charges de travail de test. Si un projet nécessite des emplacements dédiés, vous pouvez créer des réservations supplémentaires avec leurs propres emplacements réservés. Les sections suivantes décrivent un exemple de création de 500 emplacements attribués à my-prod-project.

Créer une réservation de production

Console

  1. Dans Google Cloud Console, accédez à l'UI Web de BigQuery.

    Accéder à l'UI Web de BigQuery

  2. Cliquez sur la section Reservations.
  3. Cliquez sur le bouton Create Reservation (Créer une réservation). Créer une réservation.
  4. Dans le champ Reservation name (Nom de la réservation), saisissez prod. Créer des informations de réservation.
  5. Dans le champ Location (Région), sélectionnez US.
  6. Pour le nombre d'emplacements, saisissez 500.
  7. Cliquez sur Save.

La réservation prod créée est visible dans le tableau récapitulatif.

Présentation de la réservation.

CLI

Utilisez la commande bq mk avec l'indicateur --reservation pour créer une réservation avec 500 emplacements.

bq mk \
  --project_id=admin_project_id \
  --location=US \
  --reservation \
  --slots=500 \
  prod

Où :

  • admin_project_id est l'ID du propriétaire de projet de la ressource de réservation.

Attribuer my-prod-project à la réservation prod

Console

  1. Dans Google Cloud Console, accédez à l'UI Web de BigQuery.

    Accéder à l'UI Web de BigQuery

  2. Cliquez sur la section Reservations.
  3. Cliquez sur l'onglet Assignments (Attributions). Onglet Attributions.
  4. Dans la section Search and create assignments (Rechercher et créer des attributions), cliquez sur le bouton Browse (Parcourir), puis sélectionnez votre projet prod. Outil de sélection de projets pour les attributions.
  5. Dans l'outil de sélection Reservation (Réservation), sélectionnez la réservation dont le nom se finit par prod. Outil de sélection d'attributions de réservation.
  6. Cliquez sur Create (Créer).

CLI

Utilisez la commande bq mk avec l'indicateur --reservation_assignment pour attribuer les tâches de requête de votre projet de production à la réservation de production.

bq mk \
  --project_id=admin_project_id \
  --location=US \
  --reservation_assignment \
  --reservation_id=admin_project_id:US.prod \
  --job_type=QUERY \
  --assignee_id=my-prod-project \
  --assignee_type=PROJECT

Où :

  • admin_project_id est l'ID du propriétaire de projet de la ressource de réservation.

  • my-prod-project est votre ID de projet de production.

Désormais, toutes les tâches de requête envoyées depuis my-prod-project seront exécutées sous la réservation prod et auront accès à 500 emplacements.

Acheter des emplacements supplémentaires et augmenter la taille des réservations

À mesure que la taille et la complexité des charges de travail augmentent au fil du temps, l'achat d'emplacements supplémentaires peut être nécessaire afin d'améliorer les performances.

Acheter des emplacements supplémentaires

Suivez les instructions de la section Premiers pas avec BigQuery Reservations pour acheter 500 emplacements supplémentaires.

Augmenter la taille de la réservation prod

Pour augmenter la taille de la réservation prod, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à l'UI Web de BigQuery.

    Accéder à l'UI Web de BigQuery

  2. Cliquez sur la section Reservations. Section Réservations
  3. Sélectionnez la réservation prod créée précédemment, puis cliquez sur le bouton Edit (Modifier). Modifier les réservations.
  4. Saisissez la nouvelle taille de réservation pour 1 000 emplacements. Augmenter les emplacements de réservation.
  5. Cliquez sur Save.
  6. La taille de la réservation prod mise à jour apparaît dans la liste des réservations. Taille de réservation mise à jour.

CLI

Utilisez la commande bq update avec l'indicateur --reservation pour mettre à jour la taille de votre réservation de production.

bq update \
  --project_id=admin_project_id \
  --location=US \
  --slots=500 \
  --reservation prod

Où :

  • admin_project_id est l'ID du propriétaire de projet de la ressource de réservation.

Attribuer des projets/dossiers/organisations à des réservations

Les projets, dossiers et organisations peuvent tous être attribués à des réservations. Une attribution de projet à une réservation a la priorité sur une attribution de dossier, lequel a la priorité sur une attribution d'organisation.

Gérer des réservations dans différentes régions

Les réservations sont une ressource régionale. Les emplacements achetés et les réservations créées dans une région ne peuvent pas être utilisés dans une autre région. Les projets, dossiers et organisations peuvent tous être attribués à des réservations dans une région et s'exécuter à la demande dans une autre. Pour gérer les réservations dans une autre région, vous devez modifier la région sur la page "Réservations" de BigQuery :

Console

  1. Cliquez sur la section Reservations dans l'interface utilisateur de la console BigQuery.
  2. Cliquez sur l'outil de sélection Location (Région), puis sélectionnez la région dans laquelle vous souhaitez gérer les réservations. Sélectionner une autre région.
  3. Une fois la région sélectionnée, vous pouvez acheter des emplacements, créer des réservations et attribuer un projet à une réservation.

Attribuer des tâches de chargement et d'exportation à des réservations

Les emplacements utilisés par le chargement et les autres tâches de pipeline sont gratuits et offrent les conditions d'exécution les plus optimales possible. BigQuery ne garantit pas la capacité d'ingestion. Si vous avez besoin de ressources dédiées pour le chargement ou de performances moins volatiles, vous pouvez acheter des emplacements et créer des réservations dédiées au chargement et autres tâches de pipeline.

L'exemple suivant montre comment attribuer les tâches de pipeline de my-project à la réservation de chargement de votre projet d'administration.

CLI

Utilisez la commande bq mk avec l'indicateur --reservation pour créer une réservation avec 1 000 emplacements qui seront utilisés pour vos tâches de pipeline.

bq mk \
  --project_id=admin_project_id \
  --location=US \
  --ignore_idle_slots=true \
  --slots=1000 \
  --reservation my-pipeline

Où :

  • admin_project_id est l'ID du propriétaire de projet de la ressource de réservation.

Utilisez la commande bq mk avec l'indicateur --reservation_assignment pour attribuer les tâches de pipeline de votre projet à la réservation de pipeline.

bq mk \
  --project_id=my-project \
  --location=US \
  --reservation_assignment \
  --reservation_id=admin_project_id:US.loads \
  --assignee_id=admin_project_id \
  --assignee_type=PROJECT \
  --job_type=PIPELINE

Où :

  • my-projet est l'ID du projet dont vous souhaitez affecter les travaux de pipeline à la réservation.

  • admin_project_id est l'ID du propriétaire de projet de la ressource de réservation.

Supprimer des projets des réservations

Vous pouvez supprimer des projets des réservations en supprimant les attributions de réservation. Si un projet n'est attribué à aucune réservation, les tarifs par requête (à la demande) s'appliquent et sont facturés en conséquence. Si les dossiers ou l'organisation parents d'un projet sont attribués à une réservation, la tarification à la demande n'est pas appliquée.

Pour supprimer un projet d'une réservation, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à l'UI Web de BigQuery.

    Accéder à l'UI Web de BigQuery

  2. Cliquez sur la section Reservations.
  3. Cliquez sur l'onglet Assignments (Attributions). Onglet Attributions.
  4. Pour supprimer une attribution, cliquez sur Actions, puis sur l'option Delete (Supprimer) correspondante. Supprimer l'attribution

CLI

Utilisez la commande bq rm avec l'indicateur --reservation_assignment pour supprimer votre projet de la réservation.

bq rm \
  --project_id=admin_project_id \
  --location=US \
  --reservation_assignment admin_project_id:US.reservation_id.reservation_assignment_id

Où :

  • admin_project_id est l'ID du propriétaire de projet de la ressource de réservation.

  • reservation_assignment_id est l'ID de l'attribution de réservation.

Rechercher une attribution de réservation pour un projet

Pour savoir si votre projet, dossier ou organisation est attribué à une réservation, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à l'UI Web de BigQuery.

    Accéder à l'UI Web de BigQuery

  2. Cliquez sur la section Reservations.
  3. Cliquez sur l'onglet Assignments (Attributions). Onglet Attributions.
  4. Cliquez sur l'outil de sélection de projet et sélectionnez le projet, le dossier ou l'organisation de votre choix. Outil de sélection de projets pour les attributions.
  5. L'attribution de réservation, si elle existe, s'affiche sous l'outil de sélection.

CLI

Utilisez la commande bq show avec l'indicateur --reservation_assignment pour trouver à quelle réservation les travaux de requête de votre projet sont attribués.

bq show \
  --project_id=admin_project_id \
  --location=US \
  --reservation_assignment \
  --job_type=QUERY \
  --assignee_id=my-prod-project \
  --assignee_type=PROJECT

Où :

  • admin_project_id est l'ID du propriétaire de projet de la ressource de réservation.

  • my-prod-project est votre ID de projet de production.

Supprimer des engagements de capacité

La suppression d'un engagement de capacité dépend de la durée de l'engagement :

  • Mensuel : vous pouvez supprimer votre engagement à tout moment après une première période de 30 jours. Votre facture sera calculée au prorata par seconde.
  • Annuel: vous pouvez résilier l'engagement pour votre pool d'emplacements après une période d'un an. Après ce délai, votre pool d'emplacements sera facturé au tarif mensuel. Vous pourrez résilier votre abonnement à tout moment et votre facture sera calculée au prorata par seconde.

La date de fin de la période d'engagement est affichée dans l'interface utilisateur des réservations. Vous pouvez supprimer votre engagement de capacité après la date d'engagement. Si vous souhaitez supprimer un engagement de capacité, vous devez d'abord vous assurer que le nombre d'emplacements non attribués est suffisant. Si ce n'est pas le cas, vous devez réduire le nombre d'emplacements dans une réservation ou supprimer entièrement les réservations.

Console

Pour supprimer un engagement de capacité, procédez comme suit :

  1. Dans Google Cloud Console, accédez à l'UI Web de BigQuery.

    Accéder à l'UI Web de BigQuery

  2. Cliquez sur la section Reservations.
  3. Cliquez sur l'onglet Slot commitments (Engagements d'emplacement).
  4. Pour supprimer un engagement, cliquez sur Actions, puis sur l'option Delete (Supprimer) correspondante. Supprimer des engagements.
  5. Saisissez REMOVE (SUPPRIMER), puis cliquez sur Proceed (Continuer). Supprimer des engagements.

CLI

Utilisez la commande bq rm avec l'indicateur --capacity_commitment pour supprimer un engagement de capacité.

bq rm \
  --project_id=admin_project_id \
  --location=US \
  --capacity_commitment=admin_project_id:US.capacity_commitment_id

Où :

  • admin_project_id est l'ID du propriétaire de projet de la ressource de réservation.

  • capacity_commitment_id est l'ID d'engagement de capacité.

Gérer vos charges de travail et services à l'aide des réservations

Pour isoler votre capacité engagée répartie entre les charges de travail, les équipes ou les services, vous pouvez créer des réservations supplémentaires et attribuer des projets à ces réservations à l'aide de BigQuery Reservations. Chaque réservation correspond à un pool isolé de ressources, qui présente l'avantage supplémentaire de pouvoir profiter de la capacité inutilisée sur l'ensemble de votre organisation.

Par exemple, imaginons que vous ayez une capacité totale engagée de 1 000 emplacements et trois types de charges de travail : data science, ELT et veille stratégique.

  • Vous pouvez créer une réservation ds avec 500 emplacements et attribuer tous les projets Google Cloud pertinents à la réservation .
  • Vous pouvez créer une réservation elt avec 300 emplacements et attribuer les projets que vous utilisez pour les charges de travail ELT à la réservation .
  • Vous pouvez créer une réservation bi avec 200 emplacements et attribuer les projets associés à vos outils de veille stratégique à la réservation .

Supprimer des engagements.

Au lieu de répartir votre capacité entre les charges de travail, vous pouvez choisir de créer des réservations dédiées à des équipes ou des services spécifiques.

BigQuery Reservations pour les organisations complexes

BigQuery Reservations est une ressource appliquée au niveau de l'organisation. Vous achetez de manière centralisée des capacités sur engagement afin de les utiliser sur l'ensemble de votre organisation. Vous pouvez demander à certains services ou divisions de gérer eux-mêmes les réservations BigQuery, d'acheter des engagements de capacités, de répartir ces capacités entre les services et d'en supporter les frais.

Vous pouvez utiliser une organisation Google Cloud distincte pour chacun de vos services ou divisions. Dans ce scénario, vous définissez un projet d'administration pour chaque organisation et gérez les réservations BigQuery pour cette organisation à partir du projet d'administration. Les capacités engagées ou inactives ne sont donc pas partagées entre des organisations disparates.

Combiner les modèles de facturation forfaitaire et à la demande

Il est possible d'utiliser une combinaison des deux modèles de facturation, forfaitaire et à la demande.

Par exemple, vous pouvez opter pour les tarifs forfaitaires dans une région et à la demande dans une autre région :

  1. Par défaut, la tarification à la demande est appliquée dans toutes les régions.
  2. Si vous choisissez la facturation forfaitaire pour un projet, un dossier ou une organisation dans une région, vous devez l'attribuer à une réservation.
  3. Par exemple, vous achetez un engagement d'emplacement dans la zone US multirégionale et attribuez votre organisation à la réservation par défaut. Votre facturation sera forfaitaire dans la zone US multirégionale et à la demande dans les autres régions.

Vous pouvez utiliser à la fois la tarification forfaitaire et à la demande au sein d'une même région :

  1. N'attribuez pas votre dossier ou votre organisation à une réservation.
  2. À la place, attribuez explicitement des projets à une réservation.
  3. Tout projet non attribué à une réservation sera facturé à la demande. Exemple :
    • Vous avez les projets A, B et C.
    • Vous ne créez pas d'attribution à l'échelle de l'organisation.
    • Vous attribuez explicitement les projets A et B à une réservation.
    • Le projet C reste facturé à la demande.

Tous les projets facturés à la demande utilisent une capacité distincte de la capacité engagée. Ces projets n'ont pas d'incidence sur la disponibilité de votre capacité engagée.