Plainsight
Technologiedbt

Versneld naar dbt.

Projectstructuur, gelaagde models, SQL-stijl, tests, CI/CD, documentatie. De afspraken die bepalen of een dbt-project overzichtelijk blijft bij model nummer 800. Wij maakten die keuzes al in tientallen rollouts, zodat jij ze niet opnieuw hoeft te maken.

VOOR WE BEGINNEN

Klinkt dit bekend?

Wat teams die al met dbt werken, of het overwegen, ons vertellen nog voor er werk begint. Elk ervan heeft een uitweg, en de rest van deze pagina is hoe we er geraken.

Uit ons playbook

Onze keuzes, zwart op wit.

Zes patronen die we op elk dbt-project toepassen. Opgeschreven, zodat je ze kan lezen nog voor je met ons praat.

Architectuur

Elke laag heeft één doel. Bronze, silver, ADS, gold.

Staging models heten stg_<source>_<entity>, één per brontabel, en doen niets meer dan casten en hernoemen. Intermediate per businessdomein, niet per team. ADS als het geharmoniseerde contract voor entiteiten die over bronnen heen gaan. Gold blijft dun en business-ready, met namen die gebruikers meteen snappen. Selecties als dbt build --select intermediate.finance+ worden dan kinderspel.

Configuratie

Defaults in dbt_project.yml. Niet in elk model.

Materialisaties, incremental strategies en quotingregels leg je vast op project- en mapniveau. Losse {{ config() }}-overrides verspreid over de bestanden maken het gedrag onvoorspelbaar. Met instellingen per pad ziet een reviewer hoe een model zich gedraagt, gewoon door te kijken waar het staat.

SQL-stijl

Eerst config, één afsluitende CTE, geen SELECT *.

{{ config() }} bovenaan, dan CTE's in een duidelijke volgorde (sources, transformaties, eindselectie), en op het einde één afsluitende CTE die het model teruggeeft. Expliciete kolommen, aliassen in lowercase snake_case, keywords in hoofdletters. Diffs blijven voorspelbaar, lineage-audits blijven haalbaar.

Testen

Zwaar op sources en gold. Licht op intermediate.

not_null en unique op elk staging model en op elke gold fact of dimensie. Relationship tests en contracts waar downstream metrics van afhangen. Intermediate models die ephemeral blijven, hebben geen eigen tests nodig: staging ervoor en gold erna dekken ze af.

CI/CD

dbt build, niet dbt run plus dbt test.

Één commando dat tegelijk materialiseert en test, zodat een kapot model nooit bij een downstream dependency raakt. De CI stopt meteen als een test faalt, en kritieke sources krijgen freshness blocks met warn/error-drempels (warn na 18u, error na 26u). Geen groene build, geen deploy.

Documentatie

Documentatie leeft naast de models. Of ze leeft niet.

_models.yml en _sources.yml staan in dezelfde map als de models die ze beschrijven. doc()-referenties zodat elke beschrijving maar op één plek staat, een eigenaar op elk model, exposures gekoppeld aan Power BI-rapporten en notebooks. De CI faalt op models zonder documentatie. Aparte documentatiebestanden raken altijd achterop.

Lees het volledige dbt-playbook

Hoe we een dbt-project opleveren

Vier stappen. Elke keer dezelfde. De keuzes in elke stap hebben we tientallen keren gemaakt, niet gelezen op een documentatiepagina.

1

Verankeren

Één bron, één mart, één stakeholder die erom geeft. We leveren één bruikbaar model end to end op voor we aan de rest van het project komen. Naamgeving, lagen en tests liggen vast met dat eerste model.

2

Gelaagd opbouwen

Staging per bron, intermediate per domein, ADS als integratiecontract, gold dun en gebruiksvriendelijk. dbt_project.yml draagt de defaults, zodat elk nieuw model de patronen automatisch overneemt.

3

Bouwen met overtuiging

Volle testdekking op sources en gold, documentatie naast de models, dbt build in de CI, freshness op de sources die ertoe doen, dbt Power User als standaard IDE-setup, SQLFluff in pre-commit. De knopen zijn al doorgehakt.

4

Overdragen

Geplande builds, een eigenaar op elk model, exposures die verwijzen naar de dashboards die ze gebruiken. Je team bouwt de volgende mart zonder ons, en het project blijft overzichtelijk, ook bij model nummer 800.

Gratis naslagwerk

Bespaar jezelf de tachtig beslissingen waar elk dbt-project opnieuw over discussieert.

Voor dbt heb je geen wizard nodig. Wat je nodig hebt, zijn de standpunten van iemand anders over de beslissingen die elk project telkens opnieuw neemt. Neem over wat werkt, fork de rest, of laat het ons voor je implementeren.

  • Gelaagde projectstructuur (staging, intermediate, ADS, gold) met naamgevingsregels
  • SQL-stijlgids en de patronen die in dbt_project.yml thuishoren
  • Teststrategie: waar je zwaar test, waar je het licht houdt
  • CI-gates, freshness-drempels, afspraken over eigenaarschap en exposures

Ons dbt-werk valt onder Data & analytics, binnen Bouwen.

Strategie beslist of dbt de juiste keuze is voor de transformatielaag. Wij bouwen het. Experts houden het draaiende nadat we het overgedragen hebben.

Richting

Strategie

Van zakelijke vragen naar een richting voor data, AI en software die je organisatie kan volgen.

Bekijken →
Waarde

Bouwen

Data en analytics, AI en software op maat. Gebouwd met adoptie en eigenaarschap vanaf dag één.

Bekijken →
Continuïteit

Experts

Specialisten die meedenken als teamgenoten. Ze houden je motor draaiend en je team scherp.

Bekijken →

Overweeg je dbt? Praat eerst met ons.

Een gesprek van een halfuur. We zeggen je of het de juiste keuze is voor jouw situatie, en hoe je een project opzet dat overzichtelijk blijft naarmate het groeit.

Plan een dbt-gesprek