Nella prima parte della nostra serie sui prezzi dei data warehouse cloud , abbiamo confrontato e riassunto le principali variabili di calcolo e di prezzo per BigQuery, Redshift e Snowflake. Rivedete questo primo blog della serie per visualizzare la tabella comparativa dettagliata.
Nella seconda parte, iniziamo a esaminare scenari ipotetici che forniscono una guida alla comprensione delle operazioni sui prezzi. Siamo una soluzione iPaaS agnostica che collega e orchestra i flussi di dati tra applicazioni e dati on-premises, applicazioni SaaS cloud e una serie di data warehouse cloud .
Quella che segue è una configurazione ipotetica, che include un comune scenario di calcolo on-demand che può essere utile per illustrare il funzionamento delle differenze di prezzo di base tra cloud data warehouse. I prossimi blog tratteranno altri scenari di prezzo più avanzati.
Scenario ipotetico su richiesta - BigQuery vs. Redshift vs. Snowflake Prezzi
Invece di una configurazione minima, che creerebbe paragoni fuorvianti, abbiamo scelto una configurazione ipotetica tipica delle operazioni di interrogazione di dati di grandi dimensioni e di natura on-demand , un caso d'uso ideale per gli strumenti di interrogazione basati su cloud. Al giorno d'oggi, con le aziende inondate di dati, anche con carichi di lavoro di query on-demand o esplorative, non è raro che le aziende richiedano un tempo di risposta massimo specifico per grandi insiemi di dati.
Pertanto, per il nostro scenario ipotetico, abbiamo tre diverse query pesanti dal punto di vista computazionale. Ogni query deve essere eseguita in 30 secondi (o meno) e deve analizzare un intero set di dati da mezzo terabyte (500 GB) per produrre il risultato della query. I dati provengono da un sistema on-premises of record e vengono caricati nel data warehouse cloud tramite il rispettivo SnapLogic Snap Pack - per BigQuery, Redshift o Snowflake. In questo scenario, le query vengono eseguite sporadicamente nell'arco di un mese, quindi non in un ambiente costantemente attivo 24 ore su 24, che verrà analizzato con un altro scenario ipotetico.
Per illustrare le differenze di prezzo, si ipotizza che le seguenti dimensioni del data warehouse cloud siano necessarie per ottenere il tempo di risposta massimo di 30 secondi (si presume che configurazioni più piccole produrrebbero risultati più lenti e inaccettabili):
- BigQuery: 2.000 slot, su richiesta o con prezzo flessibile
- Redshift: 8 nodi x dc2.8xlarge o 5 nodi di ra3.xlarge, on-demand
- Fiocco di neve: Edizione standard, formato X-Large, su richiesta
Differenze di prezzo
Google BigQuery
Utilizzare BigQuery Snap nella pipeline SnapLogic per spostare i dati su BigQuery. Una volta lì, con i prezzi on-demand, il prezzo per eseguire una delle query di 30 secondi è di 2,50 dollari (,5 * 1 TB * 5 dollari per TB scansionato). Eseguite le query ogni volta che - in batch o in modo indipendente. In ogni caso, pagherete sempre 2,50 dollari per ogni query a causa del mezzo terabyte di dati scansionati per ogni query.
Con i prezzi flessibili di BigQuery, il costo è di 80 dollari all'ora per 2.000 slot (4 dollari all'ora per 100 slot * 20). Poiché una query di 30 secondi consuma tutti i 2.000 slot, se ogni query arriva sporadicamente, si pagherà sempre il costo minimo di 60 secondi, che è di 1,34 dollari per query (60 secondi * (80 dollari / 3.600 sec./ora)) per ogni singola query.
Pertanto, dato il minimo di 60 secondi, si è motivati a raggruppare le query, se possibile, e a sperare in un certo livello di concorrenza, con l'aspettativa di pagare al massimo 90 secondi di calcolo per eseguire tutte e tre le query a un costo di 2 dollari (90 * 80 dollari / 3.600 (sec./ora)).
Tuttavia, si noti che il flex pricing per BigQuery è di fatto un prezzo spot e le risorse slot non sono garantite come disponibili al momento della richiesta di query. Inoltre, il contatore continua a funzionare finché non si annullano le risorse slot. Pertanto, i costi di calcolo effettivi potrebbero essere superiori alle stime dei prezzi flessibili di BigQuery.
Inoltre, poiché i dati provengono da una fonte esterna, è necessario pagare anche per Google Cloud Storage, che costa circa 9,80 dollari al mese (500 GB - 10 GB (gratuiti))/1.000 GB * 20 dollari), che può essere ridotto se i dati non vengono utilizzati per un mese intero.
In questo scenario di calcolo, il prezzo forfettario di BigQuery, che elimina la dipendenza dalla quantità di dati analizzati, potrebbe non essere un'opzione conveniente perché l'attività di query è sporadica e non sufficiente a tenere BigQuery occupato per giustificare il prezzo forfettario di 40.000 dollari al mese (20 * 2.000 dollari al mese per 100 slot).
Redshift
Grazie alle nuove funzioni di pausa e ripresa, quando si usa Redshift on-demand, si ha ora un controllo più stretto dei costi di Redshift. Utilizzate il Redshift Snap Pack nella pipeline SnapLogic per spostare i dati su Redshift. Se le tre query vengono eseguite in batch o singolarmente entro un'ora, è possibile mantenere bassi i costi di Redshift. Altrimenti, senza pausa e ripresa, per i nodi dc2.8xlarge, si è esposti a un costo orario di 38,40 dollari (8 nodi * 4,80 dollari all'ora per nodo) per le tre query. Oppure, con i nodi ra3-16xlarge, un costo di 65 dollari (5 nodi * 13,04 dollari all'ora per nodo).
Il problema in questo caso, tuttavia, è che la pausa e la ripresa di Redshift sono impostate manualmente o sono programmate. È necessario sapere in anticipo quando le query devono essere eseguite sul cluster Redshift. Se l'amministratore di Redshift ha il controllo di questo aspetto, la tempistica della pausa e della ripresa può essere strettamente legata al momento in cui le query devono essere eseguite. Ciò consente di contenere i costi, perché ovviamente i costi sono inferiori alla tariffa oraria completa. Se l'amministratore non controlla la tempistica, i costi aumenteranno a causa del tempo di inattività quando il cluster Redshift è attivo, ma non sta eseguendo una query.
Quando il cluster Redshift è in pausa, il prezzo dello storage è ancora a carico dell'utente. Per i nodi Redshift dc2.8xlarge, che includono 2,56 TB di storage live, il costo stimato è di 492 dollari al mese per lo storage (8 nodi * 2,56 TB per nodo * 24 TB al mese). Il costo dello storage per i nodi Redshift ra3-12xlarge è calcolato in modo diverso. Con i nodi ra3, si paga solo lo storage consumato, 12 dollari al mese (.5 TB * 24 TB al mese).
Fiocco di neve
Utilizzate lo Snowflake Snap nella vostra pipeline SnapLogic per spostare i dati su Snowflake. Una volta che i dati sono stati spostati su Snowflake, i costi di archiviazione vengono immediatamente addebitati alla tariffa on-demand di 40 dollari per TB al mese, con compressione. Si presume che la compressione dei dati tipica di Snowflake sia di ~3:1, ma la compressione effettiva può variare. Pertanto, il costo di archiviazione stimato è di 7 dollari al mese (.5 TB / 3 * 40 dollari per TB al mese).
Snowflake ha il vantaggio di abilitare la sospensione e il ripristino automatico, consentendogli di operare come un motore di query, proprio come BigQuery. È possibile abilitare la sospensione e la ripresa automatica al momento della creazione di un magazzino Snowflake o in qualsiasi momento successivo alla creazione tramite script SQL.
Una volta che il magazzino è inattivo, la sospensione automatica interviene dopo un certo periodo di tempo, che è possibile selezionare. Se si seleziona dal menu a discesa della configurazione Snowflake "Create Warehouse", il tempo minimo è di cinque minuti. Questo tempo può essere ridotto ulteriormente tramite script SQL. Ad esempio, "AUTO_SUSPEND = 60" (il valore è sempre in secondi) riduce il tempo a 1 minuto. Sebbene possa essere allettante ridurre il tempo il più possibile per risparmiare sui costi, è bene tenere presente che ci sono potenziali conseguenze operative del magazzino se il tempo di sospensione è troppo stretto quando le query arrivano frequentemente e sporadicamente e le dimensioni del magazzino dati sono grandi.
Snowflake prevede un costo di calcolo minimo di un minuto. Se le tre query ipotetiche vengono eseguite simultaneamente e tutte e tre le query vengono completate entro 30 secondi, il costo di calcolo stimato per un'edizione Snowflake Standard con dimensioni X-Large è di $.53 ($2 all'ora per il tipo Standard * 16 crediti per le dimensioni X-Large / 60 minuti all'ora) + il costo del tempo di attesa per la sospensione automatica. Se il tempo di attesa della sospensione automatica è impostato a due minuti, il costo del tempo di attesa è di 1,07 dollari (arrotondato). - il costo totale è di 1,60 dollari (1,53 dollari + 1,07 dollari).
Se le tre query ipotetiche vengono eseguite in sequenza, il costo totale è di 1,87 dollari (90 secondi di tempo di calcolo (80 dollari) + 2 minuti di attesa per la sospensione (1,07 dollari)).
Soprattutto per le operazioni on-demand, come nell'esempio di Redshift, è importante che Snowflake abbia abilitato le funzioni di sospensione e ripresa automatica. Altrimenti, il contatore è in funzione mentre il data warehouse è inattivo, esponendovi a costi più elevati del necessario.
Fare attenzione quando si opera su richiesta
Come illustra lo scenario ipotetico, Google BigQuery, Amazon Redshift e Snowflake offrono la capacità di operare in modo on-off e con costi ridotti, ideali per quando i carichi di query sono leggeri e sporadici. I costi di calcolo comparati sono simili. Il funzionamento on-off è la chiave per evitare costi eccessivi. BigQuery è più naturale con il funzionamento on-off, poiché esegue le query solo quando vengono presentate, mentre Redshift e Snowflake richiedono la presenza di impostazioni.
Nella prossima puntata di questa serie di blog, esamineremo gli scenari di funzionamento continuo e confronteremo i prezzi.