Prijzen

BigQuery biedt schaalbare, flexibele prijsopties die passen bij uw project en budget. Bij gebruik van BigQuery worden kosten in rekening gebracht voor de opslag van gegevens, het invoegen via streaming en het uitvoeren van zoekopdrachten. Het laden en exporteren van gegevens is echter gratis.

De prijzen van BigQuery zijn gebaseerd op een vast tarief voor opslag en een gebruikstarief voor zoekopdrachten. Het gebruik van projectopslag en het uitvoeren van zoekopdrachten worden berekend in gigabytes (GB), waarbij 1 GB wordt uitgedrukt als 230 bytes. Deze maateenheid staat ook bekend als een gibibyte (GiB). Op dezelfde wijze is 1 TB gelijk aan 240 bytes (1024 GB). Zie SKU's van Google Cloud Platform voor meer informatie over prijzen voor opslag en zoekopdrachten.

Aan elk project dat u maakt, is een factureringsaccount gekoppeld. Alle kosten die worden gemaakt voor taken die in het project worden uitgevoerd, worden in rekening gebracht op het gekoppelde factureringsaccount. Dit is ook van toepassing als het project wordt gedeeld met anderen buiten uw organisatie. BigQuery-opslagkosten worden ook gefactureerd bij het gekoppelde factureringsaccount.

BigQuery biedt u diverse manieren om de kosten te beheersen, zodat u de dagelijkse kosten kunt beperken tot een bedrag dat u zelf kiest. Zie Custom kostenbeheer instellen voor meer informatie.

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta voor Cloud Platform-SKU's worden vermeld.

Prijsoverzicht

In de volgende tabel worden de BigQuery-prijzen vermeld. Op deze bewerkingen zijn de quota en limieten van BigQuery van toepassing.

VS- en EU-locaties met meerdere regio's

Bewerking Prijs Details
Opslag $ 0,02 per GB per maand De eerste 10 GB per maand is gratis. Zie Opslagprijzen voor meer informatie.
Opslag op lange termijn $ 0,01 per GB per maand De eerste 10 GB per maand is gratis. Zie Opslagprijzen voor meer informatie.
Invoegen via streaming $ 0,01 per 200 MB Zie Opslagprijzen voor meer informatie.
Zoekopdrachten (analyse) $ 5 per TB De eerste 1 TB per maand is gratis, zie On demand-prijzen voor meer informatie. Prijzen met vaste tarieven zijn ook beschikbaar voor grote klanten.
Gegevens laden Gratis Zie Gegevens laden in BigQuery.
Gegevens kopiëren Gratis Zie Een tabel kopiëren.
Gegevens exporteren Gratis Zie Gegevens exporteren uit BigQuery.
Bewerkingen met metadata Gratis List-, get-, patch-, update- en delete-aanroepen.
Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta voor Cloud Platform-SKU's worden vermeld.

Regio Tokio

Bewerking Prijs Details
Opslag $ 0,023 per GB per maand De eerste 10 GB per maand is gratis. Zie Opslagprijzen voor meer informatie.
Opslag op lange termijn $ 0,016 per GB per maand. De eerste 10 GB per maand is gratis. Zie Opslagprijzen voor meer informatie.
Invoegen via streaming $ 0,012 per 200 MB Zie Opslagprijzen voor meer informatie.
Zoekopdrachten (analyse) $ 8,55 per TB De eerste 1 TB per maand is gratis, zie On demand-prijzen voor meer informatie. Prijzen met vaste tarieven zijn ook beschikbaar voor grote klanten.
Gegevens laden Gratis Zie Gegevens laden in BigQuery.
Gegevens kopiëren Gratis Zie Een tabel kopiëren.
Gegevens exporteren Gratis Zie Gegevens exporteren uit BigQuery.
Bewerkingen met metadata Gratis List-, get-, patch-, update- en delete-aanroepen.
Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta voor Cloud Platform-SKU's worden vermeld.

Gratis bewerkingen

In de volgende tabel vindt u BigQuery-bewerkingen die gratis zijn. Op deze bewerkingen zijn de quota en limieten van BigQuery van toepassing.

Bewerking Details
Gegevens laden Gegevens laden in BigQuery
Gegevens kopiëren Een bestaande tabel kopiëren
Gegevens exporteren Gegevens exporteren vanuit BigQuery
Bewerkingen met metadata Aanroepen voor weergeven, ophalen, patchen, updaten en verwijderen

Prijzen voor het laden van gegevens

Momenteel kunt u gegevens laden vanaf een leesbare gegevensbron (zoals uw lokale computer) of vanuit Cloud Storage. Wanneer u vanuit Cloud Storage gegevens in BigQuery laadt, worden er geen kosten in rekening gebracht voor het laden, maar worden er wel kosten in rekening gebracht voor de opslag van de gegevens in Cloud Storage. Zie Gegevensopslag op de pagina met Cloud Storage-prijzen voor meer informatie. Wanneer de gegevens in BigQuery zijn geladen, gelden voor de gegevens de opslagprijzen van BigQuery.

Kosten voor uitgaand netwerkverkeer

Wanneer u een dataset in BigQuery maakt, moet u een locatie voor de gegevens kiezen. Als u US kiest, kunt u gegevens in tabellen in de dataset laden vanuit een Cloud Storage-bucket in een andere regio. Wanneer u gegevens uit een andere regio in een US-dataset laadt, zijn er momenteel geen kosten voor uitgaand internetverkeer.

Als u een andere locatie dan US kiest, heeft u twee opties:

  • Gegevens laden vanuit een Cloud Storage-bucket in die regio (dit kan een bucket met meerdere regio's zijn of een regionale bucket die zich in dezelfde regio als de dataset bevindt)
  • De gegevens kopiëren naar een bucket in die regio

Wanneer u gegevens van de ene Cloud Storage-regio naar de andere kopieert, zijn de netwerkprijzen van Cloud Storage van toepassing.

Opslagprijzen

Het laden van gegevens in BigQuery is gratis, met uitzondering van een kleine vergoeding voor gestreamde gegevens. De opslagprijzen zijn gebaseerd op de hoeveelheid gegevens die u opslaat in uw tabellen. Dit berekenen we op basis van de soorten gegevens die u opslaat. Zie berekening van de gegevensgrootte voor een uitgebreide uitleg over de manier waarop we uw gegevensgrootte berekenen.

VS- en EU-locaties met meerdere regio's

Met uitzondering van uw eerste 10 GB aan opslag worden de volgende kosten in rekening gebracht:

Opslagactie Kosten
Opslag $ 0,02 per GB, per maand.
Invoegen via streaming $ 0,01 per 200 MB, waarvoor het invoegen is geslaagd en waarbij afzonderlijke rijen worden berekend met een minimale grootte van 1 KB.

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta voor Cloud Platform-SKU's worden vermeld.

Opslagprijzen worden pro rato in rekening gebracht per MB, per seconde. Als u bijvoorbeeld opslag wilt voor:

  • 100 MB gedurende een halve maand, betaalt u $ 0,001 (een tiende cent).
  • 500 GB gedurende een halve maand, betaalt u $ 5.
  • 1 TB gedurende een volledige maand, betaalt u $ 20

Regio Tokio

Met uitzondering van uw eerste 10 GB aan opslag worden de volgende kosten in rekening gebracht:

Opslagactie Kosten
Opslag $ 0,023 per GB per maand.
Invoegen via streaming $ 0,012 per 200 MB, waarvoor het invoegen is geslaagd en waarbij afzonderlijke rijen worden berekend met een minimale grootte van 1 KB.

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta voor Cloud Platform-SKU's worden vermeld.

Opslagprijzen worden pro rato in rekening gebracht per MB, per seconde. Als u bijvoorbeeld opslag wilt voor:

  • 100 MB gedurende een halve maand, betaalt u $ 0,001 (een tiende cent).
  • 500 GB gedurende een halve maand, betaalt u $ 5.
  • 1 TB gedurende een volledige maand, betaalt u $ 20.

Prijzen voor kosteloze tier

De eerste 10 GB aan opslag voor elke maand worden niet in rekening gebracht (per factureringsaccount).

Prijzen voor opslag op lange termijn

Als een tabel gedurende 90 opeenvolgende dagen niet wordt bewerkt, daalt de opslagprijs voor die tabel automatisch met ongeveer 50 procent.

Er is geen sprake van verslechtering van de prestaties, duurzaamheid, beschikbaarheid of enige andere functionaliteit wanneer een tabel wordt beschouwd als opslag op lange termijn.

Zodra de tabel wordt bewerkt, wordt weer de normale opslagprijs gehanteerd en begint de timer van 90 dagen opnieuw te tellen vanaf nul.

De timer wordt gereset door elke bewerking waarmee de gegevens in een tabel worden gewijzigd (laden, kopiëren naar, zoekopdrachten met bestemmingstabel):

Actie Opmerkingen
toevoegen Elke taak die een bestemmingstabel heeft en gebruik maakt van de schrijfordening WRITE_APPEND.
overschrijven Elke taak die een bestemmingstabel heeft en gebruik maakt van de schrijfordening WRITE_TRUNCATE.
streaming Verwerking van gegevens met de API-aanroep Tabledata.insertAll()

Bij alle andere acties wordt de timer niet gereset, zoals bij:

  • Zoekopdracht van
  • Weergave maken
  • Exporteren
  • Kopiëren van
  • Patchen

Elke partitie van een gepartitioneerde tabel wordt afzonderlijk beschouwd voor prijzen voor opslag op lange termijn. Als een partitie de afgelopen 90 dagen niet is gewijzigd, worden de gegevens in die partitie als opslag op lange termijn beschouwd. Hiervoor worden dan kosten in rekening gebracht volgens de gereduceerde prijs.

Voor tabellen die tijdens een factureringscyclus de drempel van 90 dagen bereiken, wordt de prijs pro rato in rekening gebracht.

Prijzen voor opslag op lange termijn zijn alleen van toepassing op BigQuery-opslag en niet op externe gegevensbronnen.

Prijzen voor zoekopdrachten

Zoekopdrachtprijzen hebben betrekking op de kosten voor het uitvoeren van de SQL-opdrachten en door de gebruiker gedefinieerde functies. BigQuery brengt kosten voor zoekopdrachten in rekening op basis van één meetwaarde: het aantal verwerkte bytes. U betaalt voor het aantal verwerkte bytes, ongeacht of de gegevens zijn opgeslagen in BigQuery of in een externe gegevensbron, zoals Google Cloud Storage, Google Drive of Google Cloud Bigtable.

Gratis quotum voor gebruik

Er worden geen kosten in rekening gebracht voor de eerste 1 TB aan verwerkte gegevens per maand (per factureringsaccount).

On demand prijzen

VS- en EU-locaties met meerdere regio's

Na uw eerste 1 TB aan gegevens die in een maand zijn verwerkt, worden de volgende kosten in rekening gebracht:

Resource Prijzen
Zoekopdrachten $ 5 per TB

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta voor Cloud Platform-SKU's worden vermeld.

  • Er worden geen kosten in rekening gebracht voor zoekopdrachten die een foutmelding retourneren of voor zoekopdrachten waarbij resultaten uit het cachegeheugen worden opgehaald.
  • De kosten worden afgerond naar de dichtstbijzijnde MB, met minimaal 10 MB aan verwerkte gegevens per tabel waarnaar wordt verwezen door de zoekopdracht, en met minimaal 10 MB aan verwerkte gegevens per zoekopdracht.
  • Als u een actieve zoekopdrachttaak annuleert, worden er mogelijk kosten in rekening gebracht tot het volledige bedrag voor de zoekopdracht als deze zou kunnen zijn voltooid.
  • BigQuery gebruikt een gegevensstructuur met kolommen. Er worden kosten in rekening gebracht op basis van de totale hoeveelheid verwerkte gegevens in de kolommen die u selecteert. De totale hoeveelheid gegevens per kolom wordt berekend op basis van de soorten gegevens in de kolom. Zie Berekening van de gegevensgrootte voor meer informatie over de manier waarop uw gegevensgrootte wordt berekend.
  • Raadpleeg Vaste tarieven als u liever niet de on demand prijs betaalt, maar de voorkeur geeft aan stabiele maandelijkse kosten.

Regio Tokio

Na uw eerste 1 TB aan gegevens die in een maand zijn verwerkt, worden de volgende kosten in rekening gebracht:

Resource Prijzen
Zoekopdrachten $ 8,55 per TB

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta voor Cloud Platform-SKU's worden vermeld.

  • Er worden geen kosten in rekening gebracht voor zoekopdrachten die een foutmelding retourneren of voor zoekopdrachten waarbij resultaten uit het cachegeheugen worden opgehaald.
  • De kosten worden afgerond naar de dichtstbijzijnde MB, met minimaal 10 MB aan verwerkte gegevens per tabel waarnaar wordt verwezen door de zoekopdracht, en met minimaal 10 MB aan verwerkte gegevens per zoekopdracht.
  • Als u een actieve zoekopdrachttaak annuleert, worden er mogelijk kosten in rekening gebracht tot het volledige bedrag voor de zoekopdracht als deze zou kunnen zijn voltooid.
  • BigQuery gebruikt een gegevensstructuur met kolommen. Er worden kosten in rekening gebracht op basis van de totale hoeveelheid verwerkte gegevens in de kolommen die u selecteert. De totale hoeveelheid gegevens per kolom wordt berekend op basis van de soorten gegevens in de kolom. Zie Berekening van de gegevensgrootte voor meer informatie over de manier waarop uw gegevensgrootte wordt berekend.
  • Raadpleeg Vaste tarieven als u liever niet de on demand prijs betaalt, maar de voorkeur geeft aan stabiele maandelijkse kosten.

Vast tarief

BigQuery biedt vaste tarieven voor klanten met grote volumes of grote bedrijven die liever niet de on demand prijs per TB aan verwerkte gegevens betalen, maar de voorkeur geven aan stabiele maandelijkse kosten voor zoekopdrachten. Als u kiest voor vaste tarieven, worden de kosten voor alle verwerkte bytes opgenomen in het vaste maandtarief.

BigQuery beheert automatisch uw slotsquotum op basis van klantgeschiedenis, gebruik en uitgaven. BigQuery biedt klanten met maandelijkse analyse-uitgaven van minstens $ 40.000 verschillende manieren om het aantal toegewezen slots te verhogen.

Vaste tarieven:

  • Alleen van toepassing op zoekopdrachtkosten en niet op opslag. Zie Opslagprijzen voor de opslagkosten.
  • Van toepassing op alle projecten die gekoppeld zijn aan het factureringsaccount waarop vaste tarieven worden toegepast.
  • Biedt extra BigQuery-slots. Raadpleeg de volgende tabel voor meer informatie.
  • Biedt extra gelijktijdige zoekopdrachten voor interactieve zoekopdrachten.
Maandelijkse kosten BigQuery-slots
$ 40.000 2000
Oplopend in stappen van $ 10.000 500 extra slots voor elke stap

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta voor Cloud Platform-SKU's worden vermeld.

Neem contact op met uw salesmedewerker als u geïnteresseerd bent in vaste tarieven.

Prijzen voor Data Manipulation Language

Bij BigQuery worden er kosten voor DML-zoekopdrachten in rekening gebracht op basis van het aantal bytes dat door de zoekopdracht wordt verwerkt.

DML-prijzen voor niet-gepartitioneerde tabellen

Voor niet-gepartitioneerde tabellen wordt het aantal verwerkte bytes als volgt berekend:

DML-instructie Verwerkte bytes
INSERT De som van verwerkte bytes voor alle kolommen waarnaar wordt verwezen in de tabellen die door de zoekopdracht zijn gescand.
UPDATE De som van bytes in alle kolommen waarnaar wordt verwezen in de tabellen die door de zoekopdracht zijn gescand
+ de som van bytes voor alle kolommen in de geüpdatete tabel op het moment dat de instructie UPDATE wordt gestart.
DELETE De som van bytes in alle kolommen waarnaar wordt verwezen in de tabellen die door de zoekopdracht zijn gescand
+ de som van bytes voor alle kolommen in de gewijzigde tabel op het moment dat de instructie DELETE wordt gestart.
MERGE Als er alleen INSERT-bepalingen in de MERGE-instructie voorkomen, worden er kosten in rekening gebracht voor de som van verwerkte bytes voor alle kolommen waarnaar wordt verwezen in alle tabellen die door de zoekopdracht zijn gescand.
Als er een UPDATE- of DELETE-bepaling in de MERGE-instructie voorkomt, worden er kosten in rekening gebracht voor de som van de verwerkte bytes voor alle kolommen waarnaar wordt verwezen in de brontabellen die door de zoekopdracht zijn gescand
+ de som van bytes voor alle kolommen in de doeltabel (op het moment dat de instructie MERGE wordt gestart).

Voorbeelden van DML-prijzen voor niet-gepartitioneerde tabellen

In de volgende voorbeelden ziet u hoe BigQuery het aantal gelezen bytes berekent voor DML-instructies waarmee niet-gepartitioneerde tabellen worden gewijzigd.

Voorbeeld 1: UPDATE-instructie voor niet-gepartitioneerde tabellen

table1 heeft twee kolommen: col1 van het type INTEGER en col2 van het type STRING.

UPDATE table1 SET col1 = 1 WHERE col1 = 2;

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in col1 +
  • som van het aantal bytes in col2
Voorbeeld 2: UPDATE-instructie voor niet-gepartitioneerde tabellen

table1 heeft twee kolommen: col1 van het type INTEGER en col2 van het type STRING. table2 heeft één kolom: field1 van het type INTEGER.

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

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in table1.col1 vóór UPDATE +
  • som van het aantal bytes in table1.col2 vóór UPDATE +
  • som van het aantal bytes in table2.field1

DML-prijzen voor gepartitioneerde tabellen

Voor gepartitioneerde tabellen wordt het aantal verwerkte bytes als volgt berekend:

DML-instructie Verwerkte bytes
INSERT De som van verwerkte bytes voor alle kolommen waarnaar wordt verwezen in alle partities die door de zoekopdracht zijn gescand.
UPDATE De som van verwerkte bytes voor alle kolommen waarnaar wordt verwezen in alle partities voor de tabellen die door de zoekopdracht zijn gescand.
+ de som van bytes voor alle kolommen in de geüpdatete of gescande partities voor de tabel die wordt geüpdatet (op het moment dat de instructie UPDATE wordt gestart).
DELETE De som van verwerkte bytes voor alle kolommen waarnaar wordt verwezen in alle partities voor de tabellen die door de zoekopdracht zijn gescand.
+ de som van bytes voor alle kolommen in de gewijzigde of gescande partities voor de tabel die wordt gewijzigd (op het moment dat de instructie DELETE wordt gestart).
MERGE Als er alleen INSERT-bepalingen in de MERGE-instructie voorkomen, worden er kosten in rekening gebracht voor de som van verwerkte bytes voor alle kolommen waarnaar wordt verwezen in alle partities die door de zoekopdracht zijn gescand.
Als er een UPDATE- of DELETE-bepaling in de MERGE-instructie voorkomt, worden er kosten in rekening gebracht voor de som van de verwerkte bytes voor alle kolommen waarnaar wordt verwezen in alle partities voor de brontabellen die door de zoekopdracht zijn gescand
+ de som van bytes voor alle kolommen in de geüpdatete, verwijderde of gescande partities voor de doeltabel (op het moment dat de instructie MERGE wordt gestart).

Voorbeelden van DML-prijzen voor gepartitioneerde tabellen

In de volgende voorbeelden ziet u hoe BigQuery het aantal gelezen bytes berekent voor DML-instructies, waarmee de tabellen die zijn gepartitioneerd op basis van verwerkingstijd worden gewijzigd. Als u de JSON-schemaweergaven wilt bekijken voor de tabellen die in de voorbeelden worden gebruikt, raadpleegt u Tabellen die in voorbeelden worden gebruikt op de pagina 'Gegevens van gepartitioneerde tabellen updaten met DML-instructies'.

Voorbeeld 1: INSERT-instructie voor tabellen die zijn gepartitioneerd op basis van verwerkingstijd

mytable2 heeft twee kolommen: id van het type INTEGER en ts van het type TIMESTAMP. mytable heeft twee kolommen: field1 van het type INTEGER en field2 van het type STRING.

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

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in mytable2.ts +
  • som van het aantal bytes in mytable2.id

De grootte van de tabel waarin de rijen worden ingevoegd (mytable) heeft geen invloed op de kosten van de zoekopdracht.

Voorbeeld 2: INSERT-instructie voor gepartitioneerde tabellen

mytable2 heeft twee kolommen: id van het type INTEGER en ts van het type TIMESTAMP. mycolumntable heeft vier kolommen: field1 van het type INTEGER, field2 van het type STRING, field3 van het type BOOLEAN en ts van het type TIMESTAMP.

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

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in mytable2.ts +
  • som van het aantal bytes in mytable2.id

De grootte van de tabel waarin de rijen worden ingevoegd (mycolumntable) heeft geen invloed op de kosten van de zoekopdracht.

Voorbeeld 3: UPDATE-instructie voor tabellen die zijn gepartitioneerd op basis van verwerkingstijd

DML-instructie 1: één partitie updaten

mytable2 heeft twee kolommen: id van het type INTEGER en ts van het type TIMESTAMP. mytable heeft twee kolommen: field1 van het type INTEGER en field2 van het 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)

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in mytable2.id +
  • som van het aantal bytes in mytable.field1 in de partitie 2017-05-01 +
  • som van het aantal bytes in mytable.field2 in de partitie 2017-05-01

DML-instructie 2: een partitie updaten op basis van een andere partitie in de tabel

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") )

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in mytable.field1 in de partitie 2017-05-01 +
  • som van het aantal bytes in mytable.field2 in de partitie 2017-05-01 +
  • som van het aantal bytes in mytable.field1 in de partitie 2017-06-01 +
  • som van het aantal bytes in mytable.field2 in de partitie 2017-06-01

In dit geval bedragen de kosten voor de UPDATE-instructie de som van de grootten van alle velden in de partities die overeenkomen met 2017-05-01 en 2017-06-01.

Voorbeeld 4: UPDATE-instructie voor gepartitioneerde tabellen

DML-instructie 1: één partitie updaten

mytable2 heeft twee kolommen: id van het type INTEGER en ts van het type TIMESTAMP. mycolumntable heeft vier kolommen: field1 van het type INTEGER, field2 van het type STRING, field3 van het type BOOLEAN en ts van het 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)

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in mytable2.id +
  • som van het aantal bytes in mycolumntable.field1 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.field2 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.field3 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.ts in de partitie 2017-05-01

DML-instructie 2: een partitie updaten op basis van een andere partitie in de tabel

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")

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in mycolumntable.field1 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.field2 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.field3 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.ts in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.field1 in de partitie 2017-06-01 +
  • som van het aantal bytes in mycolumntable.field2 in de partitie 2017-06-01 +
  • som van het aantal bytes in mycolumntable.field3 in de partitie 2017-06-01 +
  • som van het aantal bytes in mycolumntable.ts in de partitie 2017-06-01

In dit geval bedragen de kosten voor de UPDATE-instructie de som van de grootten van alle velden in de partities die overeenkomen met 2017-05-01 en 2017-06-01.

Voorbeeld 5: DELETE-instructie voor tabellen die zijn gepartitioneerd op basis van verwerkingstijd

mytable2 heeft twee kolommen: id van het type INTEGER en ts van het type TIMESTAMP. mytable heeft twee kolommen: field1 van het type INTEGER en field2 van het 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)

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in mytable2.id +
  • som van het aantal bytes in mytable.field1 in de partitie 2017-05-01 +
  • som van het aantal bytes in mytable.field2 in de partitie 2017-05-01
Voorbeeld 6: DELETE-instructie voor gepartitioneerde tabellen

mytable2 heeft twee kolommen: id van het type INTEGER en ts van het type TIMESTAMP. mycolumntable heeft vier kolommen: field1 van het type INTEGER, field2 van het type STRING, field3 van het type BOOLEAN en ts van het 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)

Verwerkte bytes in dit voorbeeld =

  • som van het aantal bytes in mytable2.id +
  • som van het aantal bytes in mycolumntable.field1 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.field2 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.field3 in de partitie 2017-05-01 +
  • som van het aantal bytes in mycolumntable.ts in de partitie 2017-05-01

Berekening van de gegevensgrootte

Wanneer u gegevens in BigQuery laadt of zoekopdrachten uitvoert op de gegevens, worden er kosten in rekening gebracht op basis van de gegevensgrootte. We berekenen de gegevensgrootte op basis van de grootte van elk gegevenstype.

Gegevenstype Grootte
STRING 2 bytes + de grootte van de UTF-8-gecodeerde tekenreeks
INTEGER 8 bytes
FLOAT 8 bytes
BOOLEAN 1 byte
TIMESTAMP 8 bytes
RECORD 0 bytes + de grootte van de ingesloten velden

Null-waarden voor elk gegevenstype worden berekend als 0 bytes. Herhaalde velden worden per item berekend. Een herhaalde INTEGER met 4 items telt bijvoorbeeld als 32 bytes.

Kosten voor voorbeeldzoekopdrachten bij on demand prijzen

Wanneer u een zoekopdracht uitvoert, betaalt u hiervoor op basis van de totale hoeveelheid verwerkte gegevens in de kolommen die u selecteert, zelfs als u een expliciete LIMIT instelt op de resultaten. De totale hoeveelheid bytes per kolom wordt berekend op basis van de soorten gegevens in de kolom. Zie berekening van de gegevensgrootte voor meer informatie over de manier waarop we uw gegevensgrootte berekenen.

De volgende tabel bevat enkele voorbeeldenzoekopdrachten en een beschrijving van het aantal bytes dat voor elke zoekopdracht wordt verwerkt.

Voorbeeldzoekopdracht Verwerkte bytes

SELECT
  corpus,
  word
FROM
  publicdata:samples.shakespeare
LIMIT 1;
Totale grootte van het corpus + grootte van de kolommen word

SELECT
  corpus
FROM
  (SELECT
     *
   FROM
     publicdata:samples.shakespeare);
Totale grootte van de kolom corpus

SELECT
  COUNT(*)
FROM
  publicdata:samples.shakespeare;
Geen bytes verwerkt

SELECT
  COUNT(corpus)
FROM
  publicdata:samples.shakespeare;
Totale grootte van de kolom corpus

SELECT
  COUNT(*)
FROM
  publicdata:samples.shakespeare
WHERE
  corpus = 'hamlet';
Totale grootte van de kolom corpus

SELECT
  shakes.corpus,
  wiki.language
FROM
  publicdata:samples.shakespeare AS shakes
  JOIN EACH
  publicdata:samples.wikipedia AS wiki
  ON shakes.corpus = wiki.title;
Totale grootte van de kolommen shakes.corpus, wiki.language en wiki.title

Prijzen voor BigQuery Data Transfer Service

De BigQuery Data Transfer Service brengt maandelijks pro rato kosten in rekening. U wordt als volgt gefactureerd:

Bron-app Maandelijkse kosten (pro rato)
Google AdWords

$ 2,50 per unieke klant-ID - ExternalCustomerID's in de tabel Customer, inclusief klant-ID's met nul vertoningen.

DoubleClick Campaign Manager

$ 2,50 per unieke adverteerder-ID - Adverteerder-ID's in de tabel impression.

DoubleClick for Publishers

$ 100 per netwerk-ID

YouTube-kanaal en YouTube-contenteigenaar

Geen kosten tot 1 juli 2018. Prijzen voor YouTube worden op een later tijdstip aangekondigd.

Nadat gegevens naar BigQuery zijn overgezet, gelden de BigQuery-standaardprijzen voor opslag en zoekopdrachten. Neem contact op met de verkoopafdeling voor meer informatie over de prijzen.

Unieke ID's berekenen

Bij elke overdracht die u maakt, worden één of meer uitvoeringen per dag gegenereerd. Voor elke uitvoering wordt een record bijgehouden van elke aangetroffen unieke ID en de datum waarop de overdrachtuitvoering wordt voltooid. ID's worden alleen geteld op de dag waarop de overdracht wordt voltooid. Als een overdrachtuitvoering bijvoorbeeld begint op 14 juli, maar wordt voltooid op 15 juli, worden de unieke ID's geteld op 15 juli.

Als een unieke ID wordt aangetroffen in meer dan één overdrachtuitvoering op een bepaalde dag, wordt deze slechts één keer geteld. Unieke ID's worden afzonderlijk geteld voor verschillende overdrachten. Als een unieke ID wordt aangetroffen in uitvoeringen voor twee afzonderlijke overdrachten, wordt de ID tweemaal geteld.

Voorbeelden

Voorbeeld 1: U heeft 1 overdracht met 3 uitvoeringen die op dezelfde dag zijn voltooid.

  • De eerste uitvoering registreert de volgende unieke ID's: A, B en C
  • De tweede uitvoering registreert: A
  • De derde uitvoering registreert: C en D

Omdat alle uitvoeringen op dezelfde dag eindigen, worden er kosten in rekening gebracht op basis van 4 unieke ID's: A, B, C, D. Omdat ID A en ID C zijn opgenomen in twee verschillende uitvoeringen die op dezelfde dag zijn voltooid, zijn ID's A en C slechts één keer geteld. Als de drie overdrachtuitvoeringen een maand lang elke dag worden voltooid, worden uw maandelijkse kosten gebaseerd op 4 unieke ID's. Als de overdrachtuitvoeringen minder vaak worden voltooid dan het aantal dagen in de maand waarin ze worden uitgevoerd, zijn de kosten pro rato.

Voorbeeld 2: U heeft meerdere overdrachten met uitvoeringen die op dezelfde dag worden voltooid.

  • Overdracht 1 wordt uitgevoerd en registreert de volgende unieke ID's: A, B en C
  • Overdracht 2 wordt uitgevoerd uit en registreert: A
  • Overdracht 3 wordt uitgevoerd en registreert: C en D

Omdat de unieke ID's worden geteld in uitvoeringen voor verschillende overdrachten, betaalt u op basis van zes unieke ID's: A, B en C uit de uitvoering van overdracht 1, A uit de uitvoering van overdracht 2, en C en D uit de uitvoering van overdracht 3. Als de overdrachtuitvoeringen minder vaak worden voltooid dan het aantal dagen in de maand waarin ze worden uitgevoerd, zijn de kosten pro rato.

Aanvullingskosten berekenen

Als u een aanvulling plant, wordt voor elke dag een overdrachtuitvoering gepland. U betaalt vervolgens op basis van de beschreven methode onder Unieke ID's berekenen.

Kosten voor BigQuery Data Transfer Service stoppen

Als u geen kosten meer wilt maken, moet u de overdracht uitschakelen of verwijderen.

Was deze pagina nuttig? Laat ons weten hoe goed we u hebben geholpen:

Feedback verzenden over...