July 8, 2022

Snowflake för applikationsutveckling och data science

Under den årliga konferensen Snowflake Summit som ägde rum i mitten av juni presenterades många spännande nyheter i Snowflake och på Business Vision har vi redan fått möjlighet att prova på några nyheter tillsammans med våra kunder.

Nyheterna som presenterades under konferensen syftar i korthet till att göra den smidiga och användarvänliga plattformen ännu mer programmerbar, flexibel och tillgänglig för ett allt större antal olika användningsområden. Ett par nyheter som sticker ut är Unistore och Snowpark för Python, med dessa förstärks möjligheterna att använda plattformen för applikationsutveckling, med en förenklad arkitektur och hög säkerhet och governance.

Unistore

En efterlängtrad funktion har länge varit möjligheten att hantera transaktionsdata direkt i Snowflake. Under konferensen lanserades Unistore, en funktionalitet som gör det möjligt för användare att kombinera transaktions- och analytiskdata i samma plattform med enhetlig governance, säkerhet och skalbarhet. Unistore bygger på en ny tabelltyp: Hybrid Tables.

Hybrid Tables innebär möjlighet till snabba singel-radsoperationer i Snowflake, vilket gör det möjligt att även bygga transaktionsbaserade OLTP appar direkt i Snowflake, där fokus tidigare varit mest på analytiska OLAP flöden.

Snowpark för Python

En annan stor nyhet är att Snowpark nu stödjer Python. Snowpark är ett ramverk som ger möjlighet för användare av olika programmeringsspråk att skriva kod direkt i Snowflake. Det gör det möjligt för Data Engineers, Data Scientists och utvecklare som programmerar i andra språk än SQL som Scala, Java och numera Python att dra fördel av Snowflakes kraftfulla plattform utan att först behöva flytta data från Snowflake.

Tillägget av Python förbättrar tillgängligheten och det går numera att köra komplexa transformationer för feature engineering i Snowflake samtidigt som man drar fördel av obegränsad skalbarhet, prestanda, governance och säkerhet. Detta gör det enkelt att bygga skalbara pipelines, applikationer och workflows för machine learning direkt i Snowflake.

Snowflake har sedan tidigare stöd för Python via en native Python Connector som bygger på ett mer traditionellt upplägg där en extern runtime krävs för att köra kod och SQL queries mot databaserna. Med Snowpark är det alltså numera möjligt att använda Pythonkod direkt i plattformen helt serverless med Anaconda och dess data science paket integrerat.

En labb med Snowpark för Python:

Vi på Business Vision har testat Snowpark för Python tillsammans med några data scientists hos våra kunder. De använder idag Anaconda, Spyder, och Jupyter notebooks som de kör i en enkel uppsättning on prem där data hämtas från datalager och machine learning-modeller deployas till servrar för att köras i produktion.

Först testades Python connectorn och vi kunde snabbt konstatera att med denna skulle de med enkla medel kunna köra i princip samma setup som idag, fast med ett datalager placerat i Snowflake. Inga konstigheter. Därefter testades Snowpark som ger helt nya möjligheter att deploya modeller och köra prediktioner live, utan några dataflyttar och med färre infrastrukturkomponenter att hantera och konfigurera.

Det var ett enkelt case som testades, som inte krävde någon separat machine learning-plattform som t ex Azure ML för att träna modellen, något som Snowflake annars rekommenderar för mer komplicerade modeller. Kommentarerna efteråt från de inblandade data scientists var att de gillade den data frame-liknande syntaxen, den var snygg. Det var också enkelt att använda plattformen för use caset, arbetsflödet fungerade bra. De behövde heller inte göra ett filkonverteringssteg de idag gör manuellt on prem för att få fungerande prestanda. Ett stort plus.

Även möjligheterna att i ett produktionsscenario köra prediktioner live via api anrop från externa system diskuterades som en intressant möjlighet framåt. Samt att använda en dedikerad machine learning-plattform i kombination med Snowflake för mer komplicerade case. Så det finns helt klart fler möjligheter att utforska, där vi även kan lägga till en annan nyhet från Snowflake: Streamlit. Med Streamlit kan data scientists enkelt presentera insikterna som machine learning-modellerna ger för användare i verksamheten med hjälp av interaktiva appar skapade i Python.

I det stora hela mycket intressanta labbövningar och diskussioner som visar på den potential som finns i plattformen inom detta spännande område.

Vill du läsa mer?

Läs mer om Unistore HÄR.

Läs mer om Snowpark HÄR.

Se en introvideo till Streamlit HÄR.

Vill du att din verksamhet ska bli mer datadriven?

Boka gärna in ett möte med oss där vi kan berätta mer om hur vi kan hjälpa just din verksamhet att bli mer datadriven. Vi erbjuder bland annat möten, demos, behovsanalyser och startpaket.

Kontakta oss