[BigQuery] Con la fatturazione fisica paghi meno!

Nel mio articolo chiamato “BigQuery Storage Cost Calculator” ho inserito un tool online gratuito che ho realizzato personalmente e che permette di effettuare una stima dei costi di BigQuery. Nel caso specifico la spesa è relativa al costo di archiviazione logica dei dati ovvero, il costo viene addebitato utilizzando i byte logici come unità di consumo predefinita.

Ho specificato ‘logica‘ poiché BigQuery ha offerto la possibilità di modificare il metodo di fatturazione, potendo scegliere tra archiviazione logica e fisica, e nella maggior parte dei casi con quella fisica il costo è decisamente inferiore. Sulla base del tipo e della quantità dei dati raccolti permette di risparmiare da decine fino anche a migliaia di euro (o dollari).

Per vedere le differenze tra le dimensioni e i costi dell’archiviazione logica e fisica nella console BigQuery, basta selezionare semplicemente una tabella qualsiasi in un set di dati (ad esempio di un export di GA4) e nella scheda “Dettagli” visualizzare le “Informazioni sull’archiviazione”, Fig. 1:

Fig. 1 – Informazioni sull’archiviazione in BigQuery

Nell’esempio in Fig. 1, possiamo vedere che la dimensione logica totale è di 3,78 GB, mentre la dimensione fisica totale è di soli 468 MB, un rapporto di compressione di 8:1.

Va da sé che con questi numeri, nonostante i costi di archiviazione fisica siano circa il doppio di quelli relativi alla fatturazione su base logica (vedere esempio nella dichiarazione delle variabili in Fig. 2), il costo totale del servizio può risultare inferiore.

È possibile mettere a confronto i costi di fatturazione con una query messa a disposizione direttamente dalla documentazione di Google, che interroga l’INFORMATION_SCHEMA.TABLE_STORAGE. Un esempio di esecuzione e risultato della query menzionata è il seguente, Fig. 2:

Fig. 2 – Visualizzazione della TABLE_STORAGE

Pago sicuramente meno con l’archiviazione fisica?

La risposta è, come quasi sempre, dipende.

La compressione di per sé non altera le performance di BigQuery, tuttavia affinché i dati possano essere compressi è necessario che siano archiviati nel loro formato corretto (intendo dire che le stringhe dovranno essere archiviate come tali e che i numeri dovranno essere nel loro formato numerico, e non tutto archiviato come stringa), inoltre è importante che ci sia una bassa cardinalità, ovvero se ci sono molti valori unici (e quindi non ‘accorpabili’) la compressione viene meno.

Per capire se conviene passare alla fatturazione fisica basta provare ad eseguire la query indicata sopra e valutare il risparmio dell’uno nei confronti dell’altro tipo di archiviazione.

Avvertenze

Da considerare che la compressione avviene a livello di dataset. Per cui, non tutti i dataset possono essere comprimibili o esserlo allo stesso modo. È quindi importante valutare questo aspetto poiché, dove può esserci un risparmio su un dataset con caratteristiche comprimibili, possono essercene altri che hanno un fattore di conversione inferiore a 2:1. Considerando, come abbiamo detto, che i costi dell’archiviazione fisica sono il doppio di quelli dell’archiviazione logica, il passaggio potrebbe trasformarsi in un’arma a doppio taglio e, per tornare indietro, è necessario attendere 14 giorni.

Fammi sapere se ti è piaciuto questo articolo, lasciami un commento e condividi con me la tua esperienza con l’archiviazione logica e fisica di BigQuery 🙂