Tarifs

BigQuery propose des tarifs souples et évolutifs, adaptés à votre projet et à votre budget. Dans BigQuery, le stockage et l'interrogation de données ainsi que les insertions en flux continu sont payants, mais pas le chargement ni l'exportation de données.

Les tarifs de BigQuery incluent un tarif fixe pour le stockage et un tarif à l'utilisation pour les requêtes. L'utilisation de l'espace de stockage et des requêtes est calculée en gigaoctets (Go), et 1 Go correspond à 230 octets. Cette unité de mesure est parfois appelée gibibyte (GiB). De même, 1 To équivaut à 240 octets (1 024 Go). Pour plus d'informations sur les tarifs de stockage et de requête, consultez la page relative aux SKU de Google Cloud Platform.

Chaque projet que vous créez est associé à un compte de facturation. Tous les coûts liés aux tâches exécutées dans le projet sont facturés sur le compte de facturation associé. Cela est valable même si le projet est partagé avec d'autres personnes en dehors de votre organisation. Les coûts de stockage BigQuery sont également facturés sur le compte de facturation associé.

BigQuery offre des mécanismes de maîtrise des coûts qui vous permettent de plafonner vos coûts quotidiens au montant de votre choix. Pour en savoir plus, consultez la page relative à la création de contrôles de coût personnalisés.

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page relative aux SKU de Cloud Platform s'appliquent.

Synthèse des tarifs

Vous trouverez un récapitulatif des tarifs de BigQuery dans le tableau suivant. Les quotas et limites de BigQuery s'appliquent à ces opérations.

Zones multirégionales aux États-Unis et dans l'UE

Opération Tarifs Détails
Stockage 0,02 $ par Go et par mois Les 10 premiers Go sont gratuits chaque mois. Consultez les tarifs de stockage pour plus de détails.
Stockage à long terme 0,01 $ par Go et par mois Les 10 premiers Go sont gratuits chaque mois. Consultez les tarifs de stockage pour plus de détails.
Insertions en flux continu 0,01 $ par tranche de 200 Mo Consultez les tarifs de stockage pour plus de détails.
Requêtes (analyse) 5 $ par To Le premier To par mois est gratuit. Pour en savoir plus, consultez les tarifs à la demande. Des tarifs forfaitaires sont également proposés aux clients ayant un volume de requêtes important.
Chargement de données Gratuit Pour en savoir plus, consultez la page sur le chargement des données dans BigQuery.
Copie de données Gratuit Pour en savoir plus, consultez la page sur la copie d'une table.
Exportation de données Gratuit Pour en savoir plus, consultez la page sur l'exportation de données à partir de BigQuery.
Opérations associées aux métadonnées Gratuit Appels list, get, patch, update et delete
Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page relative aux SKU de Cloud Platform s'appliquent.

Région de Tokyo

Opération Tarifs Détails
Stockage 0,023 $ par Go et par mois Les 10 premiers Go sont gratuits chaque mois. Consultez les tarifs de stockage pour plus de détails.
Stockage à long terme 0,016 $ par Go et par mois Les 10 premiers Go sont gratuits chaque mois. Consultez les tarifs de stockage pour plus de détails.
Insertions en flux continu 0,012 $ par tranche de 200 Mo Consultez les tarifs de stockage pour plus de détails.
Requêtes (analyse) 8,55 $ par To Le premier To par mois est gratuit. Pour en savoir plus, consultez les tarifs à la demande. Des tarifs forfaitaires sont également proposés aux clients ayant un volume de requêtes important.
Chargement de données Gratuit Pour en savoir plus, consultez la page sur le chargement des données dans BigQuery.
Copie de données Gratuit Pour en savoir plus, consultez la page sur la copie d'une table.
Exportation de données Gratuit Pour en savoir plus, consultez la page sur l'exportation de données à partir de BigQuery.
Opérations associées aux métadonnées Gratuit Appels list, get, patch, update et delete
Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page relative aux SKU de Cloud Platform s'appliquent.

Opérations gratuites

Le tableau suivant présente les opérations BigQuery gratuites. Les quotas et limites de BigQuery s'appliquent à ces opérations.

Opération Détails
Chargement de données Charger des données dans BigQuery
Copie de données Copier une table existante
Exportation de données Exporter des données à partir de BigQuery
Opérations associées aux métadonnées Appels list, get, patch, update et delete

Tarifs pour le chargement des données

Actuellement, vous pouvez charger des données depuis une source de données accessible en lecture (telle que votre machine locale) ou depuis Cloud Storage. Lorsque vous chargez des données dans BigQuery depuis Cloud Storage, nous ne facturons pas l'opération de chargement en elle-même, mais uniquement le stockage des données dans Cloud Storage. Pour en savoir plus, consultez la section relative au stockage de données sur la page des tarifs de Cloud Storage. Une fois les données chargées dans BigQuery, elles sont soumises aux tarifs de stockage de BigQuery.

Frais de sortie de réseau

Lorsque vous créez un ensemble de données dans BigQuery, vous devez choisir une zone pour les données. Si vous choisissez la zone US, vous pouvez charger des données dans les tables de l'ensemble de données depuis un bucket Cloud Storage situé dans n'importe quelle autre région. Lorsque vous chargez des données depuis une autre région dans un ensemble de données situé aux États-Unis, la sortie Internet ne vous est actuellement pas facturée.

Si vous choisissez une zone autre que US, vous devez effectuer l'une des opérations suivantes :

  • Charger les données depuis un bucket Cloud Storage accessible dans cette région (vous pouvez utiliser soit un bucket multirégional, soit un bucket régional situé dans la même région que l'ensemble de données)
  • Copier les données dans un bucket situé dans cette région

Lorsque vous copiez des données d'une région Cloud Storage à une autre, les tarifs réseau de Cloud Storage s'appliquent.

Tarifs de stockage

Le chargement des données dans BigQuery est gratuit, sauf en ce qui concerne les données en flux continu, pour lesquelles nous facturons des frais minimes. Les tarifs de stockage sont basés sur la quantité de données stockées dans vos tables, que nous calculons en fonction des types de données que vous stockez. Pour en savoir plus sur le mode de calcul de la taille de vos données, consultez la section sur le calcul de la taille des données.

Zones multirégionales aux États-Unis et dans l'UE

Les 10 premiers Go de stockage sont gratuits. Au-delà, vous êtes facturé de la manière suivante :

Action de stockage Coût
Stockage 0,02 $ par Go et par mois
Insertions en flux continu 0,01 $ par tranche de 200 Mo correctement insérés, avec des lignes individuelles calculées en utilisant une taille minimale de 1 Ko.

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page relative aux SKU de Cloud Platform s'appliquent.

Le prix de stockage est calculé au prorata par Mo et par seconde. Par exemple, si vous stockez :

  • 100 Mo pendant 15 jours, vous payez 0,001 $ (un dixième de cent) ;
  • 500 Go pendant 15 jours, vous payez 5 $ ;
  • 1 To pour un mois complet, vous payez 20 $.

Région de Tokyo

Les 10 premiers Go de stockage sont gratuits. Au-delà, vous êtes facturé de la manière suivante :

Action de stockage Coût
Stockage 0,023 $ par Go et par mois
Insertions en flux continu 0,012 $ par tranche de 200 Mo correctement insérés, avec des lignes individuelles calculées en utilisant une taille minimale de 1 Ko.

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page relative aux SKU de Cloud Platform s'appliquent.

Le prix de stockage est calculé au prorata par Mo et par seconde. Par exemple, si vous stockez :

  • 100 Mo pendant 15 jours, vous payez 0,001 $ (un dixième de cent) ;
  • 500 Go pendant 15 jours, vous payez 5 $ ;
  • 1 To pour un mois complet, vous payez 20 $.

Quota gratuit

Les 10 premiers Go de stockage sont gratuits chaque mois (par compte de facturation).

Tarifs de stockage à long terme

Si aucune modification n'est apportée à une table sur une période de 90 jours consécutifs, le prix de stockage de cette table diminue automatiquement d'environ 50 %.

Lorsqu'une table est considérée comme un espace de stockage à long terme, cela n'a aucune incidence sur les performances, la durabilité, la disponibilité ni sur toute autre fonctionnalité.

Si la table est modifiée, le tarif de stockage normal s'applique de nouveau et le compteur de 90 jours est remis à zéro.

Toute action qui modifie les données d'une table réinitialise le compteur (charger, copier vers, exécuter une requête avec la table de destination) :

Action Remarques
Ajouter Toute tâche qui possède une table de destination et utilise la disposition d'écriture de WRITE_APPEND
Écraser Toute tâche qui possède une table de destination et utilise la disposition d'écriture de WRITE_TRUNCATE
Diffuser en continu Ingestion de données avec l'appel d'API Tabledata.insertAll()

Toutes les autres actions ne réinitialisent PAS le compteur, y compris celles indiquées ci-dessous :

  • Interroger la table
  • Créer une vue
  • Exporter
  • Copier depuis la table
  • Corriger

Chaque partition d'une table partitionnée est prise en considération individuellement pour les tarifs de stockage à long terme. Si une partition n'a pas été modifiée au cours des 90 derniers jours, les données de cette partition sont considérées comme un espace de stockage à long terme et sont facturées au prix réduit.

Pour les tables qui atteignent le seuil de 90 jours au cours d'un cycle de facturation, le prix est calculé au prorata.

Les tarifs de stockage à long terme ne s'appliquent qu'au stockage BigQuery et non aux sources de données externes.

Tarifs des requêtes

Les tarifs des requêtes font référence au coût d'exécution de vos commandes SQL et des fonctions définies par l'utilisateur. BigQuery facture les requêtes en se basant sur une métrique : le nombre d'octets traités. Ce nombre d'octets vous est facturé, que les données soient stockées dans BigQuery ou dans une source de données externe comme Google Cloud Storage, Google Drive ou Google Cloud Bigtable.

Quota gratuit

Le premier To de données traitées par mois est gratuit (par compte de facturation).

Tarifs à la demande

Zones multirégionales aux États-Unis et dans l'UE

Au-delà de 1 To de données traitées dans le mois, vous êtes facturé de la manière suivante :

Ressource Tarifs
Requêtes 5 $ par To

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page relative aux SKU de Cloud Platform s'appliquent.

  • Vous n'êtes pas facturé pour les requêtes renvoyant une erreur ni pour les requêtes qui récupèrent les résultats depuis le cache.
  • Les frais sont arrondis au Mo le plus proche, avec un minimum de 10 Mo de données traitées par table référencée par la requête, et avec un minimum de 10 Mo de données traitées par requête.
  • L'annulation d'une tâche de requête en cours d'exécution peut entraîner des frais s'élevant jusqu'au coût total de la requête si celle-ci est terminée.
  • BigQuery utilise une structure en colonne de données. Vous êtes facturé en fonction du nombre total de données traitées dans les colonnes que vous sélectionnez, et le nombre total de données par colonne est calculé en fonction des types de données de la colonne. Pour plus d'informations sur le mode de calcul de la taille de vos données, consultez la section sur le calcul de la taille des données.
  • Si vous préférez un coût mensuel fixe plutôt qu'un prix à la demande, consultez la section sur les tarifs forfaitaires.

Région de Tokyo

Au-delà de 1 To de données traitées dans le mois, vous êtes facturé de la manière suivante :

Ressource Tarifs
Requêtes 8,55 $ par To

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page relative aux SKU de Cloud Platform s'appliquent.

  • Vous n'êtes pas facturé pour les requêtes renvoyant une erreur ni pour les requêtes qui récupèrent les résultats depuis le cache.
  • Les frais sont arrondis au Mo le plus proche, avec un minimum de 10 Mo de données traitées par table référencée par la requête, et avec un minimum de 10 Mo de données traitées par requête.
  • L'annulation d'une tâche de requête en cours d'exécution peut entraîner des frais s'élevant jusqu'au coût total de la requête si celle-ci est terminée.
  • BigQuery utilise une structure en colonne de données. Vous êtes facturé en fonction du nombre total de données traitées dans les colonnes que vous sélectionnez, et le nombre total de données par colonne est calculé en fonction des types de données de la colonne. Pour plus d'informations sur le mode de calcul de la taille de vos données, consultez la section sur le calcul de la taille des données.
  • Si vous préférez un coût mensuel fixe plutôt qu'un prix à la demande, consultez la section sur les tarifs forfaitaires.

Tarifs forfaitaires

BigQuery propose des tarifs forfaitaires pour les clients ayant un volume de requêtes important ou les grandes entreprises qui préfèrent un coût mensuel fixe pour les requêtes plutôt qu'un prix à la demande par To de données traitées. Si vous choisissez un tarif forfaitaire, le coût de tous les octets traités est inclus dans le prix mensuel forfaitaire.

BigQuery gère automatiquement votre quota d'emplacements en fonction de l'historique, de l'utilisation et des dépenses du client. BigQuery propose plusieurs façons d'augmenter le nombre d'emplacements alloués aux clients qui dépensent au moins 40 000 $ en analyses mensuelles.

Voici les conditions des tarifs forfaitaires :

  • Ils s'appliquent uniquement aux coûts de requête, pas au stockage. Pour en savoir plus sur les coûts de stockage, consultez les tarifs de stockage.
  • Ils s'appliquent à tous les projets associés au compte de facturation pour lesquels les tarifs forfaitaires sont utilisés.
  • Ils fournissent des emplacements BigQuery supplémentaires. Pour en savoir plus, consultez le tableau ci-dessous.
  • Ils fournissent une simultanéité supplémentaire pour les requêtes interactives.
Coûts mensuels Emplacements BigQuery
40 000 $ 2 000
Augmentation par tranches de 10 000 $ 500 emplacements supplémentaires par tranche

Si vous ne payez pas en USD, les tarifs indiqués dans votre devise sur la page relative aux SKU de Cloud Platform s'appliquent.

Contactez votre conseiller commercial si les tarifs forfaitaires vous intéressent.

Tarifs pour les requêtes DML (langage de manipulation des données)

Dans BigQuery, les requêtes DML sont facturées en fonction du nombre d'octets traités par la requête.

Tarifs DML pour les tables non partitionnées

Pour les tables non partitionnées, le nombre d'octets traités est calculé comme suit :

Instruction DML Octets traités
INSERT Le nombre total d'octets traités pour toutes les colonnes référencées dans les tables analysées par la requête.
UPDATE Le nombre total d'octets dans toutes les colonnes référencées dans les tables analysées par la requête
+ le nombre total d'octets pour toutes les colonnes de la table mise à jour au moment où la fonction UPDATE démarre.
DELETE Le nombre total d'octets dans toutes les colonnes référencées dans les tables analysées par la requête
+ le nombre total d'octets pour toutes les colonnes de la table modifiée au moment où la fonction DELETE démarre.
MERGE S'il y a uniquement des clauses INSERT dans l'instruction MERGE, le nombre total d'octets traités pour toutes les colonnes référencées dans toutes les tables analysées par la requête vous sera facturé.
S'il existe une clause UPDATE ou DELETE dans l'instruction MERGE, le nombre total d'octets traités pour toutes les colonnes référencées dans les tables sources analysées par la requête
+ le nombre total d'octets pour toutes les colonnes de la table cible (au démarrage de la fonction MERGE) vous seront facturés.

Exemples de tarifs DML pour les tables non partitionnées

Les exemples suivants montrent comment BigQuery calcule le nombre d'octets lus pour les instructions DML qui modifient les tables non partitionnées.

Exemple 1 : Instruction UPDATE sur une table non partitionnée

table1 comporte deux colonnes : col1 de type INTEGER et col2 de type STRING.

UPDATE table1 SET col1 = 1 WHERE col1 = 2;

Octets traités dans cet exemple =

  • Nombre total d'octets dans col1 +
  • Nombre total d'octets dans col2
Exemple 2 : Instruction UPDATE sur une table non partitionnée

table1 comporte deux colonnes : col1 de type INTEGER et col2 de type STRING. table2 comporte une colonne : field1 de type INTEGER.

UPDATE table1 SET col1 = 1 WHERE col1 in (SELECT field1 from table2)

Octets traités dans cet exemple =

  • Nombre total d'octets dans table1.col1 avant exécution de l'instruction UPDATE +
  • Nombre total d'octets dans table1.col2 avant exécution de l'instruction UPDATE +
  • Nombre total d'octets dans table2.field1

Tarifs DML pour les tables partitionnées

Pour les tables partitionnées, le nombre d'octets traités est calculé comme suit :

Instruction DML Octets traités
INSERT Le nombre total d'octets traités pour toutes les colonnes référencées dans toutes les partitions analysées par la requête.
UPDATE Le nombre total d'octets traités pour toutes les colonnes référencées dans toutes les partitions des tables analysées par la requête
+ le nombre total d'octets pour toutes les colonnes dans les partitions mises à jour ou analysées pour la table en cours de mise à jour (au démarrage de la fonction UPDATE).
DELETE Le nombre total d'octets traités pour toutes les colonnes référencées dans toutes les partitions des tables analysées par la requête
+ le nombre total d'octets pour toutes les colonnes dans les partitions modifiées ou analysées pour la table en cours de modification (au démarrage de la fonction DELETE).
MERGE S'il n'y a que des clauses INSERT dans l'instruction MERGE, le nombre total d'octets traités pour toutes les colonnes référencées dans toutes les partitions analysées par la requête vous sera facturé.
S'il existe une clause UPDATE ou DELETE dans l'instruction MERGE, le nombre total d'octets traités pour toutes les colonnes référencées dans toutes les partitions des tables sources analysées par la requête
+ le nombre total d'octets pour toutes les colonnes dans les partitions mises à jour, supprimées ou analysées pour la table cible (au démarrage de la fonction MERGE) vous seront facturés.

Exemples de tarifs DML pour les tables partitionnées

Les exemples suivants montrent comment BigQuery calcule le nombre d'octets lus pour les instructions DML qui modifient les tables partitionnées et les tables partitionnées avec date d'ingestion. Pour afficher les représentations de schémas JSON pour les tables utilisées dans les exemples, consultez la section des tables utilisées dans les exemples de la page relative à la mise à jour des données de tables partitionnées à l'aide d'instructions DML.

Exemple 1 : Instruction INSERT sur une table partitionnée avec date d'ingestion

mytable2 comporte deux colonnes : id de type INTEGER et ts de type TIMESTAMP. mytable comporte deux colonnes : field1 de type INTEGER et field2 de type STRING.

INSERT INTO mytable (_PARTITIONTIME, field1) AS SELECT TIMESTAMP(DATE(ts)), id from mytable2

Octets traités dans cet exemple =

  • Nombre total d'octets dans mytable2.ts +
  • Nombre total d'octets dans mytable2.id

La taille de la table dans laquelle les lignes sont insérées - mytable - n'a pas d'incidence sur le coût de la requête.

Exemple 2 : Instruction INSERT sur une table partitionnée

mytable2 comporte deux colonnes : id de type INTEGER et ts de type TIMESTAMP. mycolumntable comporte quatre colonnes : field1 de type INTEGER, field2 de type STRING, field3 de type BOOLEAN et ts de type TIMESTAMP.

INSERT INTO mycolumntable (ts, field1) AS SELECT ts, id from mytable2

Octets traités dans cet exemple =

  • Nombre total d'octets dans mytable2.ts +
  • Nombre total d'octets dans mytable2.id

La taille de la table dans laquelle les lignes sont insérées - mycolumntable - n'a pas d'incidence sur le coût de la requête.

Exemple 3 : Instruction UPDATE sur une table partitionnée avec date d'ingestion

Instruction DML 1 : Mise à jour d'une seule partition

mytable2 comporte deux colonnes : id de type INTEGER et ts de type TIMESTAMP. mytable comporte deux colonnes : field1 de type INTEGER et field2 de type STRING.

UPDATE project.mydataset.mytable T SET T.field1 = T.field1 + 100 WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

Octets traités dans cet exemple =

  • Nombre total d'octets dans mytable2.id +
  • Nombre total d'octets dans mytable.field1 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mytable.field2 dans la partition "2017-05-01"

Instruction DML 2 : Mise à jour d'une partition basée sur une autre partition de la table

UPDATE project.mydataset.mytable T SET T._PARTITIONTIME = TIMESTAMP(“2017-06-01”), T.field1 = T.field1 + 100 WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT 1 from project.mydataset.mytable S WHERE S.field1 = T.field1 AND S._PARTITIONTIME = TIMESTAMP("2017-06-01") )

Octets traités dans cet exemple =

  • Nombre total d'octets dans mytable.field1 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mytable.field2 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mytable.field1 dans la partition "2017-06-01" +
  • Nombre total d'octets dans mytable.field2 dans la partition "2017-06-01"

Dans ce cas, le coût de l'instruction UPDATE est basé sur la somme des tailles de tous les champs dans les partitions correspondant à "2017-05-01" et "2017-06-01".

Exemple 4 : Instruction UPDATE sur une table partitionnée

Instruction DML 1 : Mise à jour d'une seule partition

mytable2 comporte deux colonnes : id de type INTEGER et ts de type TIMESTAMP. mycolumntable comporte quatre colonnes : field1 de type INTEGER, field2 de type STRING, field3 de type BOOLEAN et ts de type TIMESTAMP.

UPDATE project.mydataset.mycolumntable T SET T.field1 = T.field1 + 100 WHERE DATE(T.ts) = “2017-05-01” AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

Octets traités dans cet exemple =

  • Nombre total d'octets dans mytable2.id +
  • Nombre total d'octets dans mycolumntable.field1 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.field2 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.field3 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.ts dans la partition "2017-05-01"

Instruction DML 2 : Mise à jour d'une partition basée sur une autre partition de la table

UPDATE project.mydataset.mycolumntable T SET T.ts = TIMESTAMP(“2017-06-01”), T.field1 = T.field1 + 100 WHERE DATE(T.ts) = “2017-05-01” AND EXISTS (SELECT 1 from project.mydataset.mycolumntable S WHERE S.field1 = T.field1 AND DATE(S.ts) = "2017-06-01")

Octets traités dans cet exemple =

  • Nombre total d'octets dans mycolumntable.field1 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.field2 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.field3 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.ts dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.field1 dans la partition "2017-06-01" +
  • Nombre total d'octets dans mycolumntable.field2 dans la partition "2017-06-01" +
  • Nombre total d'octets dans mycolumntable.field3 dans la partition "2017-06-01" +
  • Nombre total d'octets dans mycolumntable.ts dans la partition "2017-06-01"

Dans ce cas, le coût de l'instruction UPDATE est basé sur la somme des tailles de tous les champs dans les partitions correspondant à "2017-05-01" et "2017-06-01".

Exemple 5 : Instruction DELETE sur une table partitionnée avec date d'ingestion

mytable2 comporte deux colonnes : id de type INTEGER et ts de type TIMESTAMP. mytable comporte deux colonnes : field1 de type INTEGER et field2 de type STRING.

DELETE project.mydataset.mytable T WHERE T._PARTITIONTIME = TIMESTAMP(“2017-05-01”) AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

Octets traités dans cet exemple =

  • Nombre total d'octets dans mytable2.id +
  • Nombre total d'octets dans mytable.field1 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mytable.field2 dans la partition "2017-05-01"
Exemple 6 : Instruction DELETE sur une table partitionnée

mytable2 comporte deux colonnes : id de type INTEGER et ts de type TIMESTAMP. mycolumntable comporte quatre colonnes : field1 de type INTEGER, field2 de type STRING, field3 de type BOOLEAN et ts de type TIMESTAMP.

DELETE project.mydataset.mycolumntable T WHERE DATE(T.ts) =“2017-05-01” AND EXISTS (SELECT S.id from project.mydataset.mytable2 S WHERE S.id = T.field1)

Octets traités dans cet exemple =

  • Nombre total d'octets dans mytable2.id +
  • Nombre total d'octets dans mycolumntable.field1 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.field2 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.field3 dans la partition "2017-05-01" +
  • Nombre total d'octets dans mycolumntable.ts dans la partition "2017-05-01"

Calcul de la taille des données

Lorsque vous chargez des données dans BigQuery ou interrogez les données, vous êtes facturé en fonction de leur taille. Nous calculons la taille de vos données en fonction de celle de chaque type de données.

Type de données Taille
STRING 2 octets + la taille de la chaîne encodée UTF-8
INTEGER 8 octets
FLOAT 8 octets
BOOLEAN 1 octet
TIMESTAMP 8 octets
RECORD 0 octet + la taille des champs contenus

Les valeurs nulles pour tout type de données sont calculées comme 0 octet. Les champs répétés sont calculés par nombre d'entrées. Par exemple, le type de données INTEGER répété avec 4 entrées compte comme 32 octets.

Exemples de coûts de requête pour les tarifs à la demande

Lorsque vous exécutez une requête, vous êtes facturé en fonction du nombre total de données traitées dans les colonnes que vous sélectionnez, même si vous définissez une valeur LIMIT explicite sur les résultats. Le nombre total d'octets par colonne est calculé en fonction des types de données de la colonne. Pour plus d'informations sur le mode de calcul de la taille de vos données, consultez la section sur le calcul de la taille des données.

Le tableau suivant contient plusieurs exemples de requêtes et une description du nombre d'octets traités pour chaque requête.

Exemple de requête Octets traités

SELECT
  corpus,
  word
FROM
  publicdata:samples.shakespeare
LIMIT 1;
Taille totale du corpus + taille des colonnes word

SELECT
  corpus
FROM
  (SELECT
     *
   FROM
     publicdata:samples.shakespeare);
Taille totale de la colonne corpus

SELECT
  COUNT(*)
FROM
  publicdata:samples.shakespeare;
Aucun octet traité

SELECT
  COUNT(corpus)
FROM
  publicdata:samples.shakespeare;
Taille totale de la colonne corpus

SELECT
  COUNT(*)
FROM
  publicdata:samples.shakespeare
WHERE
  corpus = 'hamlet';
Taille totale de la colonne corpus

SELECT
  shakes.corpus,
  wiki.language
FROM
  publicdata:samples.shakespeare AS shakes
  JOIN EACH
  publicdata:samples.wikipedia AS wiki
  ON shakes.corpus = wiki.title;
Taille totale des colonnes shakes.corpus, wiki.language et wiki.title

Tarifs du service de transfert de données BigQuery

Le service de transfert de données BigQuery est facturé mensuellement et au prorata. Voici comment sont calculés les frais à payer :

Application source Frais mensuels (au prorata)
Google AdWords

2,50 $ par numéro client unique – ExternalCustomerID dans la table Customer, y compris les numéros client sans aucune impression

DoubleClick Campaign Manager

2,50 $ par référence annonceur unique – Références annonceur dans la table impression

DoubleClick for Publishers

100 $ par ID de réseau

Chaîne YouTube et propriétaire de contenu YouTube

Gratuit jusqu'au 1er juillet 2018. Les tarifs pour YouTube seront annoncés à une date ultérieure.

Une fois les données transférées vers BigQuery, les tarifs standards du stockage et des requêtes BigQuery s'appliquent. Pour plus de détails sur les prix, contactez le service commercial.

Comptabilisation des ID uniques

Chaque transfert que vous créez génère une ou plusieurs exécutions par jour. Lors de chaque exécution, tous les ID uniques rencontrés et la date à laquelle le transfert se termine sont enregistrés. Les ID ne sont comptabilisés que le jour de la fin du transfert. Par exemple, si un transfert commence le 14 juillet et se termine le 15 juillet, les ID uniques sont comptabilisés le 15 juillet.

Si un ID unique est rencontré dans plusieurs exécutions de transfert un jour donné, il n'est comptabilisé qu'une seule fois. En cas de plusieurs transferts, les ID uniques sont comptabilisés séparément. Si un ID unique est rencontré dans l'exécution de deux transferts distincts, il est comptabilisé deux fois.

Exemples

Exemple 1 : Vous avez un transfert avec trois exécutions qui se terminent le même jour.

  • La première exécution enregistre les ID uniques suivants : A, B et C.
  • La deuxième exécution enregistre l'ID A.
  • La troisième exécution enregistre les ID C et D.

Comme toutes les exécutions se terminent le même jour, le service vous est facturé sur la base de quatre ID uniques (A, B, C et D). Les ID A et C ne sont comptabilisés qu'une seule fois, car ils ont été enregistrés dans deux exécutions différentes effectuées le même jour. Si les trois transferts sont entièrement exécutés tous les jours pendant un mois, vos frais mensuels sont basés sur quatre ID uniques. Si le nombre d'exécutions du transfert est inférieur au nombre de jours du mois au cours duquel elles s'effectuent, les frais sont calculés au prorata.

Exemple 2 : Vous avez plusieurs transferts dont les exécutions se terminent le même jour.

  • Le transfert 1 exécute et enregistre les ID uniques suivants : A, B et C.
  • Le transfert 2 exécute et enregistre l'ID A.
  • Le transfert 3 exécute et enregistre les ID C et D.

Étant donné que les ID uniques sont comptabilisés dans les exécutions de différents transferts, le service vous est facturé sur la base de six ID uniques (A, B et C pour l'exécution du transfert 1, A pour l'exécution du transfert 2, et C et D pour l'exécution du transfert 3). Si le nombre d'exécutions du transfert est inférieur au nombre de jours du mois au cours duquel elles s'effectuent, les frais sont calculés au prorata.

Calcul des frais de renvoi

Si vous planifiez un renvoi, l'exécution d'un transfert est programmée chaque jour. Le service vous est ensuite facturé en fonction de la méthode décrite dans la section sur la comptabilisation des ID uniques.

Arrêt de la facturation du service de transfert de données BigQuery

Pour arrêter la facturation de frais, désactivez ou supprimez votre transfert.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…