Insights

BigQuery-prijzen onder controle: zo bespaar je tot 77% van de kosten

BigQuery-prijzen onder controle: zo bespaar je tot 77% van de kosten

BigQuery, het data warehouse van Google, helpt bedrijven inzichten te halen uit zeer grote datasets. Die schaal brengt ook kosten met zich mee. Als je begrijpt hoe de prijzen van BigQuery werken en de juiste strategieën toepast om kosten te besparen, helpt dat je om het meeste uit je investering in data-analyse te halen.

Zo werkt het prijsmodel van Google BigQuery

Binnen Google Cloud rekent BigQuery voor twee hoofdonderdelen van databeheer: het opslaan van je data (BigQuery-opslag) en het analyseren ervan met query's (querydata).

Prijzen voor BigQuery-opslag:

Dit gaat over de ruimte die je data inneemt in de opslag van Google Cloud. Er zijn twee prijsopties voor BigQuery-opslag:

  • Active Storage: De standaardopslag voor data die je vaak gebruikt. Je betaalt $ 0,02 per GB per maand.
  • Long-term Storage: Een tabel of partitie die 90 dagen achter elkaar niet is gewijzigd, valt automatisch onder het long-term-tarief, ongeveer 50% lager: $ 0,01 per GB per maand. Je hoeft de data niet zelf te verplaatsen.

Querykosten (verwerking van querydata):

Dit zijn de kosten van analyses op je data in BigQuery. BigQuery biedt twee prijsmodellen voor het verwerken van je querydata:

  • On-demand pricing: Een pay-as-you-go-model op basis van hoeveel data je query's verwerken (gescande data). Op het moment van schrijven betaal je $ 6,25 per gescande TiB, en de eerste 1 TiB per maand is gratis. Dat past bij incidentele query's of workloads met onvoorspelbaar gebruik.
  • Capacity-based pricing (BigQuery Editions): Geschikt voor voorspelbare workloads met veel query's. Je kiest een editie (Standard, Enterprise of Enterprise Plus) en betaalt voor rekencapaciteit (BigQuery-slots) per slot-uur, ongeacht hoeveel data je query's scannen. Een autoscaler voegt slots toe als dat nodig is, en een optionele verbintenis van een of drie jaar geeft je een lager tarief. Flat-rate pricing wordt niet meer verkocht. Bij constante workloads kan dat een stuk voordeliger zijn dan on-demand pricing.

Clustering en partitionering van tabellen zijn geen aparte posten op je rekening, maar het is goed om ze te kennen. Partitionering verdeelt een tabel in segmenten, bijvoorbeeld per datum, en clustering sorteert de data in een tabel op de kolommen waarop je het vaakst filtert. Met allebei kan BigQuery data overslaan die een query niet nodig heeft, zodat er minder bytes worden gescand. Ook helpt het om te weten dat de complexiteit van een query invloed kan hebben op hoeveel middelen (en mogelijk kosten) een query gebruikt.

Maak een kostenraming die je met je team kunt delen, met de prijscalculator van Google.

Je BigQuery-kosten optimaliseren

Je BigQuery-uitgaven onder controle houden is essentieel om efficiënt te blijven werken met deze krachtige datatool van Google. Met deze strategieën blijf je binnen budget, zowel voor opslag als voor analyse:

  • Volg de kosten nauwlettend: Gebruik de ingebouwde tools van BigQuery voor kostenbewaking om je uitgaven te volgen en trends te zien die je kunt optimaliseren.
  • Optimaliseer query's: Bekijk de opbouw van je query's om de hoeveelheid verwerkte data te beperken. Technieken als partitionering, clustering van tabellen en materialized views kunnen de efficiëntie verbeteren.
  • Gebruik voordelige opslagopties: Maak gebruik van het long-term-tarief van BigQuery voor gearchiveerde data. Dat geldt automatisch voor tabellen en partities die 90 dagen niet zijn gewijzigd, dus voorkom dat je data herschrijft die je zelden verandert.
  • Plan query's in: BigQuery heeft geen lagere tarieven buiten de piekuren. Werk je met een vaste slotreservering, dan kun je zware jobs buiten de drukke uren inplannen en zo spreiden over capaciteit waarvoor je al betaalt.
  • Zet het verwijderen van data aan: Verwijder regelmatig overbodige data om opslagkosten te beperken en je dataset compact te houden.
  • Schakel een kostenaudit voor BigQuery in: Overweeg professionele dienstverlening (zoals Crystalloids) om je gebruik te analyseren, verborgen besparingen te vinden en je uitgaven te optimaliseren op basis van het aantal verwerkte bytes.

Case: prijsstrategieën voor BigQuery die 77% kosten bespaarden

Google BigQuery kan een flinke kostenpost worden als je het niet efficiënt gebruikt. Deze case laat zien hoe we een klant hielpen de BigQuery-uitgaven sterk te verlagen, met gerichte verbeteringen in zowel de opslagkosten als de analysekosten.

Onze e-commerceklant kreeg te maken met onverwachte kostenpieken door inefficiënt gebruik van BigQuery. Een reeks processen die een ander bedrijf had ingericht, leidde tot flinke kostenstijgingen. Het ging vooral om het elk uur bijwerken en verrijken van data in BigQuery. Die aanpak leidde tot:

  • Frequente updates: updates van losse rijen dreven de kosten op. BigQuery blinkt uit in analyse op grote schaal, niet in frequente updates.
  • Overmatig scannen van data: query's die alle velden uit tabellen ophaalden, scanden onnodig veel data.
  • Ongepartitioneerde tabellen: alle data in grote tabellen scannen bracht hoge kosten met zich mee.

De optimalisatie

Om deze problemen aan te pakken, kozen we een aanpak in drie delen die de maandelijkse BigQuery-kosten van onze klant flink verlaagde:

  1. Updates en batchverwerking: We vervingen losse updates door een cachingmechanisme en voerden aan het einde van elk proces updates in batches uit. Dat verminderde het aantal updates en de bijbehorende opslagkosten sterk. Bovendien hoefde de data in BigQuery minder vaak ververst te worden, wat mogelijk ook minder vaak dure SQL-query's betekende.
  2. Alleen de velden die nodig zijn: We analyseerden de SQL-query's van de klant zorgvuldig, zodat tijdens de analyse alleen de essentiële kolommen werden opgehaald. Dat verminderde de hoeveelheid data die elke query scande aanzienlijk, met een flinke besparing als gevolg. Door ons te richten op de meest relevante kolommen zorgden we ervoor dat onze klant niet betaalde voor het analyseren van overbodige informatie.
  3. Gepartitioneerde tabellen inzetten: We zetten de tabellen van de klant om naar gepartitioneerde tabellen, op basis van logische indelingen zoals datum of productcategorie. Daardoor scant BigQuery bij een query alleen de relevante partitie. Zo blijft de gescande data beperkt en dalen de totale kosten verder.
BigQuery-prijzen onder controle: zo bespaar je tot 77% van de kosten

Maandelijkse vergelijking van de kostendaling

Het resultaat:

De optimalisaties die we voor onze klant doorvoerden, hadden duidelijk effect. Binnen 20 dagen daalden de BigQuery-uitgaven met 38%. Na een maand liet een vergelijking met de vorige maand een besparing van 77% zien.

Door de inefficiënties in opslag- en analysekosten op te sporen en te verhelpen, realiseerden we een flinke besparing en verbeterden we de prestaties van de bestaande processen. Al met al een geslaagde optimalisatie van de BigQuery-kosten.

Klaar om je BigQuery-kosten te optimaliseren?

Pas deze strategieën toe, of overweeg professionele hulp voor een aanpak op maat. Crystalloids helpt je met deskundige dienstverlening om zowel de kosten per query als de opslagkosten te beperken, zodat je investering in data-analyse zoveel mogelijk oplevert. Zo benut je de besparingsmogelijkheden van BigQuery volledig.

Onderwerpen: Google Cloud
Richard Verhoeff

Richard Verhoeff

CEO en Managing Partner

Richard Verhoeff is CEO en Managing Partner bij Crystalloids.

Bekijk alle artikelen