Insights / Blog

Caratteristiche di Snowflake: cosa lo rende unico

caratteristiche-di-snowflake

Da qualche anno la gestione dei cosiddetti big data è diventata un argomento predominante all’interno delle aziende, che si ritrovano costantemente di fronte al problema di analizzare dati complessi e sempre più diversificati.

Nel 2012 è entrato sul mercato Snowflake, che si propone come prima piattaforma di data warehouse cloud native.

Nella serie di articoli “Pillole di Snowflake” abbiamo già analizzato perché scegliere Snowflake, come ottimizzare i costi di Snowflake con Alteryx e Tableau e come preparare i dati. In questo articolo andiamo ad analizzare quali sono le caratteristiche di Snowflake, e cosa lo rende davvero unico.

Cos’è Snowflake?

Snowflake è un data warehouse nato e pensato per il cloud, tramite un’architettura sicura e innovativa, che permette una scalabilità dinamica.

Non ci sono hardware o software da installare, configurare o gestire per cui è facilmente comprensibile perché sia ideale per quelle organizzazioni che non vogliono dedicare tempo alla configurazione, alla manutenzione e al supporto dei server interni.

Inoltre, si tratta di una soluzione ottimale sia per le piccole e medie imprese che vogliono iniziare a gestire e lavorare in modo efficiente con i propri dati, sia per le grandi e big corporation, per via del suo costo relativamente basso – se confrontati ai tradizionali sistemi di database – e gli standard di sicurezza elevati.

Quali sono le caratteristiche di Snowflake che lo rendono unico?

Come già anticipato, Snowflake rappresenta una soluzione unica nell’ecosistema dei dataware. In questa sede vogliamo concentrarci su alcune delle caratteristiche distintive che lo differenziano dai principali competitors.

Availability and Security

Possiamo affermare con certezza che Snowflake è sicuro.

Snowflake infatti è distribuito su più availability zones (attualmente tre) della piattaforma su cui viene eseguito – AWS, Azure o GCP – ed è progettato per operare continuamente e tollerare le possibili failures dei componenti e della rete che possono verificarsi.

Prevede la certificazione SOC 2 Type II e sono disponibili ulteriori livelli di sicurezza, come ad esempio il supporto per i dati sanitari protetti (PHI) per i clienti che sono soggetti alla normativa HIPAA.

Time Travel

In un Data Warehouse tradizionale le modifiche accidentali o le operazioni di DROP non sono recuperabili: anche se alcuni dei dati possono essere ripristinati, non lo possono però essere ad un tempo specifico nel passato e spesso il processo di ripristino può richiedere molto tempo e denaro.

Con Time Travel si può accedere ai dati storici in qualsiasi punto all’interno di un periodo definito, e si può ripristinare qualsiasi oggetto (database, schemi, warehouse, schemas…) con semplici query SQL.

https://media.giphy.com/media/rULGb0wtaeAEM/giphy.gif

L’operazione è molto semplice e richiede dei comandi SQL simili a questi:

Time Offset: OFFSET=>time_difference

Esempio:
SELECT * FROM yourtable AT (OFFSET=> -605) ; //Questa query ti mostrerà tutto il contenuto della tua tabella nei 5 minuti precedenti. //-60 è 60 secondi, -605 è 5 minuti.

Timestamp: TIMESTAMP=>timestamp

SELECT * FROM yourtable AT (TIMESTAMP => '2021-05-13 10:30:34.068'::timestamp)
//Questa query sta usando un parametro data-ora per viaggiare indietro nel tempo

Query: STATEMENT=>id

Dove ID è il numero della query verso cui si vuole andare indietro nel tempo. Se stai usando Tableau c’è un modo per controllare le impostazioni di Time-Travel tramite dei comandi custom-SQL, come questo:

SELECT *
FROM "yourdatabase"."yourschema"."yourtable"
AT (OFFSET=> -60*)

Il Parametro può essere creato rapidamente attraverso la stessa finestra custom SQL nella dashboard.

Query Across Databases

I database tradizionali sono separati sia fisicamente che logicamente: per via di questa separazione è impossibile utilizzare una singola query per utilizzare i dati da entrambi i database allo stesso tempo. Sono necessari strumenti di terze parti per questa operazione.

In Snowflake invece database diversi sono fisicamente e logicamente integrati in un unico account Snowflake, e possono essere utilizzati senza strumenti di terze parti, tramite una semplice query SQL.

I database tradizionali sono separati sia fisicamente che logicamente: per via di questa separazione è impossibile utilizzare una singola query per utilizzare i dati da entrambi i database allo stesso tempo. Sono necessari strumenti di terze parti per questa operazione.

I database tradizionali sono separati sia fisicamente che logicamente: per via di questa separazione è impossibile utilizzare una singola query per utilizzare i dati da entrambi i database allo stesso tempo. Sono necessari strumenti di terze parti per questa operazione.

In Snowflake invece database diversi sono fisicamente e logicamente integrati in un unico account Snowflake, e possono essere utilizzati senza strumenti di terze parti, tramite una semplice query SQL.

I database tradizionali sono separati sia fisicamente che logicamente: per via di questa separazione è impossibile utilizzare una singola query per utilizzare i dati da entrambi i database allo stesso tempo. Sono necessari strumenti di terze parti per questa operazione.

Zero-copy Cloning

Una delle caratteristiche più interessanti di Snowflake è quella che viene chiamata zero-copy cloning. Si tratta della capacità di duplicare un oggetto (sia questo un database, schema o tabella) senza creare una copia fisica e senza ulteriori costi di storage, ma creandolo al livello metadata. Questo permette agli utenti una maggiore libertà nell’ambiente Snowflake, in quanto i costi non vengono impattati.

L’oggetto clonato è scrivibile ed indipendente dall’origine del clone e può essere utilizzato anche con il Time Travel, in quanto si possono creare dati come sono esistiti nel passato.

create OBJECTTYPE   NAME_OF_CLONED_OBJECT clone NAME_OF_ORIGINAL_OBJECT;

Esempio di una tabella clonata:

create table test_table_clone clone test_table

Questo comando creerà un clone di una tabella test_table chiamata test_table_clone.

Semi-Structured Data

Snowflake permette di importare dati semi-strutturati come JSON, Avro, ORC, Parquet e XML. Tramite una particolare colonna – VARIANT – siamo in grado di memorizzare dati semi-strutturati.

Snowflake prevede anche la possibilità di importare ed esportare dati semi-strutturati come JSON.

Possiamo ora comprendere come le caratteristiche di Snowflake lo rendano attualmente la migliore soluzione di data warehouse sul mercato e siamo felici di essere partner Snowflake da quest’anno come puoi leggere in questo precedente articolo.

Per ulteriori domande su Snowflake vi invitamo a contattarci all’indirizzo:

info@theinformationlab.it

Alla prossima! ❄️

pillole-di-snowflake-caratteristiche-di-snowflake

Blog
banking analytics

Banking analytics? Il solo modo per prendere decisioni informate

L’evoluzione del settore bancario passa dai banking analytics. Gli istituti finanziari ogni giorno gestiscono migliaia...

Blog
Databricks vs Snowflake

Databricks vs Snowflake: pro e contro delle piattaforme

Snowflake e Databricks sono leader tra le piattaforme cloud. Si tratta di servizi di Data...