Snowflake è una piattaforma dati cloud native che ha portato grandi innovazioni nel settore della data analytics e della business intelligence.
Rispetto alle data platform precedenti, Snowflake permette maggiore flessibilità (anche nei costi) e integrazione con diversi altri strumenti come Salesforce, Tableau ecc.
In questo articolo, abbiamo deciso di rispondere alle domande che gli utenti fanno più spesso in rete, per darti una panoramica esaustiva sulla piattaforma, su come funziona e sugli aspetti tecnici più rilevanti.
Che cos’è Snowflake?
Snowflake è una piattaforma nata come data warehouse cloud-native. O ggi è un AI Data Cloud che in un’unica piattaforma (senza spostare i dati) offre funzionalità di Analisi dei dati, Intelligenza artificiale, Data engineering, App e collaboration.
La piattaforma infatti consente di archiviare, elaborare e analizzare grandi volumi di dati strutturati e semi-strutturati (come JSON e Parquet) usando SQL. Snowflake è molto apprezzata perché è scalabile, elastica e multi-cloud.
Come funziona
La principale novità portata da Snowflake nel mondo delle data platform è l’architettura a tre livelli:
- Storage: è il livello che gestisce i dati, i quali sono compressi e salvati in formato colonnare nei cloud;
- Compute: è il livello che gestisce le risorse di calcolo (warehouse), che eseguono le query. Più warehouse possono lavorare in parallelo in modo indipendente;
- Services Layer: è il livello che gestisce autenticazione, metadati, sicurezza, ottimizzazione delle query ecc.
La novità e il vantaggio di questa architettura su tre livelli è che si separano completamente storage e compute, permettendo una scalabilità automatica delle risorse e delle performance, con un maggiore controllo dei costi da parte dell’azienda. Come vedremo più avanti, infatti, il modello di pricing di Snowflake è pay-per-use.
Per quali aziende e organizzazioni è adatto Snowflake?
Snowflake è adatto a tutte le aziende a prescindere dal settore e dalle dimensioni, che hanno bisogno di un sistema moderno per analizzare e gestire dati su larga scala, senza i vincoli e i costi fissi dell’infrastruttura tradizionale.
La piattaforma sposa le esigenze delle grandi aziende e delle multinazionali che gestiscono grandi volumi di dati, anche in settori particolarmente complessi come finanza, retail, sanità, telecomunicazioni ecc.
Ma anche aziende più piccole e startup che hanno un management data-driven, possono usare Snowflake per integrare e centralizzare dati provenienti da molte fonti, per fare BI, report e per addestrare modelli di AI .
Infine, dobbiamo menzionare gli enti di ricerca, specialmente quelli che trattano grandi volumi di dati. In questo contesto, inoltre, Snowflake è perfetto anche per collaborare con altri enti, grazie alla funzionalità di Data Sharing.
Snowflake è un database SQL?
Sì, Snowflake è un database SQL e, come abbiamo visto, è progettato per l’analisi di dati su larga scala nel cloud.
Utilizza un linguaggio SQL compatibile con lo standard ANSI, ma usa anche estensioni proprie per le funzioni avanzate, come per esempio le query su dati semi-strutturati o le esecuzioni di funzioni e modelli AI tramite Snowflake Cortex
Inoltre, si può integrare anche con altri linguaggi e strumenti (es. Python, Java, R) tramite Snowpark, ma il linguaggio principale rimane SQL.
Qual è la differenza con ?
Sia Snowflake che MySql usano SQL, ma ci sono delle differenze:
- MySQL è un database transazionale (OLTP), invece Snowflake è più orientato all’analisi complesse dei dati (OLAP);
- Snowflake è progettato per lavorare su query analitiche, su grandi volumi di dati ed ha funzionalità di data warehousing che MySQL non supporta;
- la caratteristica distintiva di Snowflake è la già citata architettura su tre livelli, con la separazione completa tra storage e compute per offrire scalabilità e performance.
Snowflake è un RDBMS o solo un DBMS?
Snowflake è Data Management System moderno e non tradizionale, che conserva alcune funzionalità tipiche del RDBMS moderno, ma va oltre. Come abbiamo approfondito in precedenza, supporta SQL, ma può gestire anche dati non strutturati e semi-stutturati. L’elaborazione è veloce, anche su grandi quantità di informazioni, e ha un pricing pay per use calcolabile grazie alla separazione tra storage e compute. Quindi rispetto a un RDBMS si adatta con grande flessibilità a molti più contesti e casi d’uso.
Snowflake è un database o uno strumento ETL?
Tramite le funzionalità integrate di Data Engineering è possibile creare pipeline di dati, streaming e batch, utilizzando SQL o Python, mantenendo il pieno controllo e la governance dei dati.
Snowflake è su AWS o su Azure?
Snowflake è disponibile su diversi Cloud Provider, quali AWS, Azure e Google Cloud.
Puoi scegliere dove eseguirlo in base alle tue esigenze. Le funzionalità restano pressoché invariate. Il multi-cloud è infatti uno dei punti di forza di Snowflake.
Come funziona il costo per consumo di Snowflake?
Con il modello pay per use di Snowflake paghi solo per le risorse che usi effettivamente, senza costi fissi. I costi principali sono legati al compute (cioè le fasi in cui esegui query o carichi dati) e allo storage (lo spazio occupato dai dati). Il compute si misura in crediti, ma paghi solo quando il sistema è attivo, con tariffazione al secondo. Lo storage invece si paga mensilmente, in base ai gigabyte o terabyte occupati. Puoi ottimizzare i costi grazie a funzionalità ad hoc come l’auto-sospensione dei motori di calcolo inattivi.
Cosa può fare Ecoh Media come partner Snowflake?
Come partner Snowflake, Ecoh Media può affiancarti in tutte le fasi del processo di implementazione della piattaforma:
- Analisi preliminare;
- Acquisto;
- Scelta del cloud provider, dell’architettura dati e integrazione con altri strumenti ETL, CRM (come Salesforce) o Visual Analytics (come Tableau);
- Realizzazione di tutti i tuoi progetti che posso avvalersi delle potenzialità offerta dalla AI Data Cloud: dalla migrazione di Data Warehouse e Data Lake in Cloud all’implementazione di applicazioni di Data Engineering, Data Analytics e Intelligenza Artificiale
- Ottimizzazione della piattaforma (flussi di lavoro e costi);
- Supporto e manutenzione;
- Formazione del personale.