IoT i Snowflake

Vill du veta mer om hur IoT i Snowflake skulle

fungera i din verksamhet? Kontakta oss så berättar vi mer!

Allmänt om IoT

IoT (Internet of Things) är samlingsbegreppet för data som samlas in från olika sensorer som kan vara monterade lite varsomhelst. I en fastighet kan man exempelvis ha sensorer för luftfuktighet, energiförbrukning och temperatur eller annat viktigt som man vill få en snabb överblick över. Denna data kan man sedan använda för att exempelvis öka energi- och driftseffektiviteten. I dessa sammanhang är det ofta otroligt stora mängder data som flödar in i systemen då man kan ha flera sensorer uppkopplade till ett specifikt system.

Vi på Business Vision har stor erfarenhet av att hjälpa våra kunder att förstå och skapa värde från data genererad av IoT-sensorer placerade i t.ex. fastigheter. I ett av våra projekt inom IoT har vi exempelvis jobbat med sensorer för besöksdata i gallerior som ett steg i att kunna ta proaktiva beslut för att hindra smittspridning under Covid-19-pandemin. Du kan läsa mer om detta här.

En tjänst som vi jobbar med i dessa sammanhang är Snowflake, som är en leverantör av databaser som tjänst i molnet. I detta blogginlägg ska vi dyka ner lite mer i denna tjänst och ett av deras verktyg som lämpar sig för just IoT-data.

IOT I SNOWFLAKE

Något som är väldigt karakteristiskt för IoT-data är att denna typ av data vanligtvis är intressant både i realtid (eller nära realtid) men även historiskt. Det kan exempelvis vara intressant att visa upp temperaturen i ett rum i realtid via en display, men även kunna göra historiska analyser på temperaturen för att se om den fluktuerar mycket över tid och om åtgärder kan göras i syfte att minska energiförbrukning eller liknande.

Kravet att kunna använda sig av realtidsdata gör att data kontinuerligt behöver hämtas och i Snowflake kan detta göras med verktyget Snowpipe. Vi ska fördjupa oss lite kring hur kontinuerlig IoT-data från sensorer kan hanteras just med hjälp av Snowpipe.


Följande bild till vänster är från Snowflakes dokumentation som beskriver flödet vid användning av Snowpipe.

  1. Sensordata läggs upp i Azure blob storage (detta görs med fördel i Azure IoT Hub, men andra tjänster kan även användas).
  2. Azure Event Grid används för att informera Snowpipe om att ny data har laddats upp.
  3. Snowpipe laddar sedan in data i tabeller som satts upp i Snowflake-databasen.

Bild hämtad här.

Detta flöde möjliggör att tabeller i Snowflake ständigt uppdateras när ny data kommer in från sensorer. Data i tabellerna kan sedan användas för att exempelvis visualiseras i Power BI för en fortsatt och visualiserande analys av data.

Fördelar med IoT i Snowflake

En fördel med just Snowflake är att lagring och processning av data är separerade. Det betyder att om processkraften för att köra frågor behöver ökas behöver inte lagringen nödvändigtvis skalas i samma takt, vilket ger en kostnadseffektivitet och flexibilitet i hanteringen av all data.

  • Snowflake är otroligt smidigt och snabbt att komma igång med
  • Snowflake har mängder med olika connectorer till andra tjänster som möjliggör ytterligare analyser, förädlingar och visualiseringar av data (t.ex. Databricks, Power BI m.fl.)
  • Inbyggt stöd för JSON-data underlättar då mycket IoT-data är i just detta format
  • Kostnaden för datalagring är separerad från kostnaden för kostnaden för att processa data (köra frågor etc.).

Det finns även andra sätt att hantera IoT-data i Snowflake och allt beror självklart på vilka behov som finns och hur just er data ser ut. Snowflake erbjuder mängder med konnektorer till andra tjänster så möjligheterna är stora. Välkommen att höra av dig till oss för att veta mer!