Ga naar de inhoud

Snowflake implementatie

We richten Snowflake in met vaste rollen, zuinige warehouses en dbt-modellen erop, zoals de dbt-modellen in de churnanalyse voor DPG Media.

Bij DPG Media voegden we voor de churnanalyse data uit verschillende tabellen samen met SQL en dbt

Voor DPG Media onderzochten we churn onder digitale abonnees van twee merken, met Python, SQL en dbt. In de technische blog bij deze case staat de aanpak: Snowflake als centrale opslagplaats voor de tabellen, en dbt om die data consistent en herhaalbaar te transformeren.

Lees de case

Hoe richten we Snowflake in zonder dat de rekening en de rechten uit de hand lopen?

Een account is snel aangemaakt. Daarna groeien warehouses, rollen en losse laadscripts naast elkaar, en weet niemand meer wie ACCOUNTADMIN heeft of welke query de credits opmaakt. Een implementatie legt die basis vast voordat de rapporten erop draaien.

Plan een gesprek

Een Snowflake-implementatie legt rollen, warehouses, laadroutes en kostenbewaking vast

Bespreek je Snowflake-plannen

Lagen en rollen

Databases voor ruwe, bewerkte en rapportagedata, met eigen rollen per team in een hiërarchie. ACCOUNTADMIN blijft bij een klein aantal beheerders.

Warehouses per taak

Aparte warehouses voor laden, transformeren en rapporteren, elk zo klein als volstaat, met auto-suspend en auto-resume zodat ze niet stil draaien.

Laden en transformeren

Bronnen laden via stages of Snowpipe en transformeren in dbt-modellen met tests. Voor DPG Media werkten we met SQL en dbt.

Kosten en herstel

Resource monitors die waarschuwen of warehouses stilzetten bij een creditlimiet, en Time Travel om een gewiste of gewijzigde tabel terug te halen.

Snowflake richten we in vanuit de rapporten en modellen die er straks op lezen

  1. Bronnen en gebruik in kaart

    Welke bronnen, welke rapporten en modellen erop lezen, wie toegang nodig heeft en welke cloudregio past.

  2. Account en eerste laag bouwen

    Rollen, warehouses en databases inrichten, de eerste bronnen laden en dbt-modellen met tests erop zetten.

  3. In productie en overdragen

    Monitors, rechten en laadschema's live, met documentatie zodat je team het beheer kan overnemen.

Is Snowflake voor ons de juiste stap, of past iets lichters?

Toets het in een gesprek

Past als

Je data staat verspreid over een ERP, losse databases en spreadsheets, je wilt één SQL-warehouse in de cloud waar rapportage en analyse op lezen, en je team werkt met SQL.

Past niet als

Je hebt een paar bronnen en een kleine database die goed draait. Of je organisatie werkt al op een ander dataplatform; een tweede platform ernaast levert dan vooral extra beheer op.

Waar de omvang van afhangt

Het aantal bronnen en hoe vaak ze verversen, of er een migratie uit een bestaand warehouse meekomt, hoeveel teams en rollen er zijn en wie het beheer na de overdracht doet.

Wordt Snowflake niet onvoorspelbaar duur?

Je betaalt voor opslag en voor de tijd dat warehouses draaien. Met auto-suspend, kleine warehouses en resource monitors houd je dat in beeld. Serverless functies bewaak je met een budget.

Snowflake, een lakehouse of een warehouse op eigen server: welke route past bij jullie data?

Snowflake

Kies dit als je vooral gestructureerde data met SQL wilt rapporteren en analyseren, zonder servers te beheren. Ons advies: leg rollen en warehouses vast voordat het eerste team begint.

Een lakehouse

Kies dit als notebooks, Spark en machine learning op grote en ook ongestructureerde data centraal staan. Lees dan over Databricks implementatie.

Een warehouse op eigen server

Kies dit als data in je eigen netwerk moet blijven of de omvang klein is. Lees over een datawarehouse laten bouwen.

We kiezen het dataplatform per organisatie, en bouwen op Snowflake waar dat past

Data Science Lab werkt sinds 2016 met data en AI. Voor Athlon werkten we met Snowflake, Python en R Shiny aan voorraadbeheer. We zijn Databricks Partner en Microsoft Partner; Snowflake-partner zijn we niet.

Plan een kennismaking

Met een overzicht van je bronnen en rapporten wordt het eerste gesprek over Snowflake concreet

Stef Stoelwinder

Stef Stoelwinder

Business Development

Stef is je eerste aanspreekpunt. In het eerste gesprek bespreken we je bronnen, rapporten en Snowflake-plannen, en waar je begint.

Met welke bron wil je in Snowflake beginnen?

Vertel welke bronnen en rapporten je hebt en of er al een Snowflake-account is. Je krijgt antwoord per mail, of we plannen een eerste gesprek.

Vul een geldig e-mailadres in.

Laat ons weten waar we je mee kunnen helpen.

Veelgestelde vragen

Je richt het account zo in dat meerdere teams er veilig en betaalbaar op kunnen werken: een cloudregio, databases en schema's per laag, een rollenhiërarchie, virtual warehouses per taak, laadroutes voor de bronnen, transformaties in dbt en bewaking van het creditverbruik.

We doen dat als onderdeel van het data- en AI-platform, zodat rapportage en modellen op dezelfde data lezen.

Hij ontwerpt de rollen, de warehouses en de laadroutes, en zet de transformaties en de kostenbewaking op. Snowflake raadt zelf een hiërarchie van eigen rollen aan, en adviseert om rechten voor accountbeheer niet te mengen met rechten op data in dezelfde rol.

ACCOUNTADMIN is de hoogste rol en hoort volgens Snowflake bij een beperkt aantal gebruikers. Een rol die alle rechtencontroles omzeilt, bestaat niet.

Snowflake draait op Amazon Web Services, Google Cloud en Microsoft Azure. Je kiest een regio, bijvoorbeeld Azure West Europe of Google Cloud europe-west4, die allebei in Nederland staan.

Voor queries en het laden van data heb je een virtual warehouse nodig: rekenkracht die je los aanzet. De grootte bepaalt hoeveel rekenkracht er per cluster is, en elke stap groter verdubbelt het creditverbruik per uur.

Snowflake rekent warehouses per seconde af, met een minimum van een minuut bij elke start. Met auto-suspend gaat een warehouse uit als hij een tijd niets doet; auto-resume zet hem weer aan bij de volgende query.

Een resource monitor bewaakt een creditquotum en kan waarschuwen of warehouses stilzetten. Alleen ACCOUNTADMIN maakt monitors aan, en voor serverless functies werk je met een budget.

Snowflake bewaart de tabellen, dbt transformeert ze in modellen met tests. In onze churnanalyse beschrijven we die combinatie: modellen die kolommen selecteren, berekeningen doen en een samengestelde dataset opleveren.

Let op: dbt maakt tabellen in Snowflake standaard transient, zonder Fail-safe. Per model kun je een eigen warehouse kiezen. Lees ook over dbt implementatie.

In batches met COPY INTO vanuit een stage, op een warehouse dat je zelf kiest en afrekent per draaitijd. Of doorlopend met Snowpipe: die laadt bestanden zodra ze in een stage aankomen, met rekenkracht van Snowflake en afgerekend per hoeveelheid geladen data.

Voor bronnen als een ERP of CRM zet je er meestal een laadtool of pipeline voor, die de bestanden of tabellen aanlevert.

Met Time Travel kun je data van eerder terughalen. Standaard is dat een dag; voor permanente objecten kun je dat verlengen, behalve in de Standard Edition. Een verwijderde tabel zet je terug met UNDROP. Daarna gaat de data naar Fail-safe en kun je dat niet meer zelf.

Met een zero-copy clone maak je een testomgeving die pas opslag kost als je erin wijzigt.

Nee. Volgens onze partnerpagina zijn we Databricks Partner en Microsoft Partner. We werken met Snowflake waar het bij een organisatie past of al staat, zoals bij Athlon.

Twijfel je tussen platformen, dan zetten we de verschillen eerlijk naast elkaar. Lees ook over Databricks implementatie; de keuze maak je zelf.