Maîtriser les coûts avec des contrôles personnalisés

Si vous avez plusieurs projets et utilisateurs BigQuery, vous pouvez maîtriser vos coûts en demandant un quota personnalisé qui limite le volume des données de requêtes traitées chaque jour.

Créer un quota personnalisé pour les données de requêtes vous permet de maîtriser vos coûts au niveau du projet ou de l'utilisateur.

  • Les quotas personnalisés au niveau du projet limitent l'utilisation globale de tous les utilisateurs de ce projet.

  • Les quotas personnalisés au niveau de l'utilisateur sont appliqués séparément à chaque compte utilisateur ou compte de service dans un projet.

Pour connaître les tarifs des requêtes à la demande, consultez la page des tarifs.

Définir ou modifier des quotas personnalisés

Pour définir un quota personnalisé ou modifier un quota existant, accédez à la page Quotas de Google Cloud Console. Les changements de quota prennent effet en quelques minutes. Pour en savoir plus, consultez la section Gérer votre quota avec Cloud Console.

Pour modifier vos quotas, vous devez disposer des autorisations serviceusage.quotas.update. Les rôles IAM prédéfinis suivants incluent des autorisations serviceusage.quotas.update :

Application des quotas personnalisés

Lorsque vous avez défini un quota personnalisé, BigQuery vous renvoie une erreur dès que vous le dépassez.

Si vous dépassez un quota personnalisé au niveau du projet, BigQuery renvoie l'erreur usageQuotaExceeded suivante :

Custom quota exceeded: Your usage exceeded the custom quota for
QueryUsagePerDay, which is set by your administrator. For more information,
see https://cloud.google.com/bigquery/cost-controls

Si un utilisateur dépasse un quota personnalisé au niveau de l'utilisateur, BigQuery renvoie une erreur usageQuotaExceeded avec un message d'erreur différent :

Custom quota exceeded: Your usage exceeded the custom quota for
QueryUsagePerUserPerDay, which is set by your administrator. For more
information, see https://cloud.google.com/bigquery/cost-controls

Si vous utilisez le filtre _PARTITIONTIME ou _TABLE_SUFFIX dans votre requête, une erreur quotaExceeded inattendue peut être renvoyée. Lorsque BigQuery analyse votre requête pour vérifier si vous allez dépasser votre quota personnalisé, il ignore tous les filtres _PARTITIONTIME et _TABLE_SUFFIX présents dans la requête.

Exemple

Supposons que vous définissiez les quotas personnalisés suivants pour un projet avec 10 utilisateurs, dont un compte de service :

  • Au niveau du projet : 50 To par jour
  • Au niveau de l'utilisateur : 10 To par jour

Les quotas personnalisés au niveau du projet limitent l'utilisation globale de tous les utilisateurs de ce projet. Les quotas personnalisés au niveau de l'utilisateur sont appliqués séparément à chaque compte utilisateur ou compte de service dans un projet.

Le tableau suivant décrit le quota restant à mesure que les 10 utilisateurs exécutent des requêtes tout au long de la journée.

Utilisation Quota restant
Chacun des 10 utilisateurs exécute des requêtes à hauteur de 4 To. Au niveau du projet : il reste 10 To.
Au niveau de l'utilisateur : il reste 6 To par utilisateur, mais seulement jusqu'à 10 To au total.
Le compte de service exécute ensuite des requêtes à hauteur de 6 To. Au niveau du projet : il reste 4 To.
Au niveau de l'utilisateur : le compte de service ne peut plus utiliser BigQuery. Il reste 6 To par personne pour les autres utilisateurs, mais seulement jusqu'à 4 To au total.
Un utilisateur exécute ensuite des requêtes à hauteur de 4 To. Au niveau du projet : il reste 0 To.
Au niveau de l'utilisateur : il reste des téraoctets, mais personne ne peut utiliser BigQuery, car le quota au niveau du projet a été dépassé.

Étant donné que le quota est atteint, BigQuery cesse de fonctionner pour toutes les personnes impliquées dans ce projet.

Questions fréquentes

Puis-je définir moi-même des quotas personnalisés ?

Oui. Les quotas peuvent être autogérés via Google Cloud Console.

Comment effectuer le suivi de mes quotas personnalisés ?

Les niveaux de quota peuvent être consultés via Google Cloud Console.

À quel moment mon quota personnalisé est-il réinitialisé ?

Les quotas quotidiens sont réinitialisés à minuit (heure du Pacifique).

Que faire si j'ai dépassé mon quota personnalisé, mais que je souhaite le réinitialiser ?

Vous pouvez exécuter votre requête à partir d'un autre projet qui a accès à vos ensembles de données, et qui n'est pas soumis à un quota personnalisé ou ne l'a pas encore dépassé.

Les quotas personnalisés sont-ils préventifs ? Autrement dit, puis-je exécuter une requête de 11 To si je dispose d'un quota de 10 To ?

Les quotas personnalisés sont préventifs. Vous ne pourrez donc pas exécuter une requête de 11 To si vous disposez d'un quota de 10 To.