Delad glädje är dubbel glädje! Så här coolt delar du din data med Snowflake datasharehouse!

Håkan Alsén
26.06.2018

Hur många gånger får man inte frågan, kan du skicka datat?

Många arbetar med att skapa pdf:er, word eller excelfiler som man kopierar, mejlar eller delar med sharepoint, dropbox, onedrive eller gdrive?

Andra kopplar upp sig mot olika tjänster såsom google analytics för att titta på grafer eller resultat.

En tredje användargrupp får access till någon portal såsom mina sidor som visar grafer eller tabeller färdigbakade. Ibland kan man ladda ned datan till Excel.

Internt på IT hanteras mycket datautbyte med api-jobb, webservice eller ftp servrar som skickar filer fram och åter. Andra lösningar har direktuppkoppling via VPN mot olika databaser.

Ovanstående lösningar dubbellagrar datat på fil, i tjänst eller i olika stagingtabeller både lokalt och på olika servrar.

Det tar mycket tid den dagen man snabbt vill göra något med ovan.

Med Snowflake datasharehouse molntjänst kan man slippa kopieringsmomentet och istället få direktåtkomst utan dubbellagring,

Ett datasharehouse delar dataset, vyer eller tabeller mellan olika inloggningar. Det innebär att först lagras datat i datalagret en gång. Efter lagring sätts den säkerhet som krävs i olika vyer som sedan kan delas.

Mottagaren av datat kan direkt lägga in det i deras eget datalager eller direkt bygga sin egen analyslösning med valfritt verktyg såsom PowerBI, Qliksense eller Tableau ovanpå datadelningen.

Ändringar och uppdateringen av datat kan sedan genomföras i realtid i Snowflake datasharehouse datalagret. Uppdateringar visas direkt hos kunden eller partnern.

Allt möjliggörs med hjälp av molnet och internet. Det innebär också att allt kan administrera och styras från mobilen.

Det hela påminner lite om bilddelning i icloud, facebook, instagram, whatsapp, sms-grupper mm skillnaden är att här handlar det om data och hela dataset.

Så hur delar man data i Snowflake?

Nedan beskrivs detta i tio steg!

  • Använd en Snowflake molntjänst för att få rätt prestanda USE DATAWAREHOUSE EXTERN_DW
  • Lägg en databas i tjänsten CREATE DATABASE EDW
  • Lägg en plats för de delade vyerna CREATE SCHEMA DM_EXTERN
  • Skapa en säker vy CREATE OR REPLACE SECURE VIEW DELAD_DATA
  • Skapa en delning CREATE SHARE EXTERN_SHARE;
  • Ge behörighet till delning GRANT SELECT ON DELAD_DATA TO SHARE EXTERN_SHARE;
  • För att ta emot den delade datan ansluter kunden sig till sitt konto i Snowflake. Detta konto kan betalas av leverantör eller av kund. I Snowflake betalar man enbart för den data som används när frågan körs.
  • Hos kunden skapas en mottagande databas CREATE DATABASE INDATA FROM SHARE KNOWIT.EXTERN_SHARE.
  • Har datat blivit delat kan mottagaren nå datat med vanlig SQL: SELECT * FROM INDATA.DELAD_DATA
  • Eller använda ett analysverktyg såsom PowerBI, Tableau, Qlik alternativt med eget ETL verktyg där denna data blir källa.

Som användare i Tableau ser det ut så här innan något är delat:

 

IMG_4462

I Snowflake delar jag timmar från det första delbara projektet 2018016 till det externa kundkontot LR75275: insert into sharing_access values('2018016', 'LR75275');

 

IMG_4463

Därefter delar jag ett till projekt 2018015 till kundens konto LR75275: insert into sharing_access values('2018015', 'LR75275');

 

IMG_4464

Så här kan datasetet som delats se ut:

 

Snowflake

 

krilis

Det är supercoolt att dela data med säkerhet utan dubbellagring. Så skönt att slippa komma ihåg var jag sparade filerna jag delade och komma ihåg vilken data dem innehöll. Att dessutom slippa uppdatera dem är en riktig befrielse.

Kontakta gärna mig om ni vill se detta ”live” på er data.

Håkan Alsen

Hakan.alsen@knowit.se

0738 47 28 00

Business Intelligence

Bloggen för Business Intelligence.