Dimensionale schematypen beschrijven

Voltooid

Dimensionale modellering is een ontwerptechniek waarmee gegevens voor analytische workloads worden ingedeeld. In tegenstelling tot genormaliseerde modellen die worden gebruikt in transactionele systemen, geven dimensionale modellen prioriteit aan queryprestaties en gebruikersbegrip. Het resultaat is een gegevensstructuur die aangeeft hoe zakelijke gebruikers nadenken over hun gegevens en efficiënte rapportage mogelijk maken.

In Microsoft Fabric kunt u dimensionale modellen implementeren in zowel een fabricwarehouse als een lakehouse. Inzicht in schematypen helpt u bij het kiezen van de juiste structuur voor uw analysevereisten.

Dimensionale modellering begrijpen

In een dimensional model worden gegevens ingedeeld in twee typen tabellen:

  • Feitentabellen slaan metingen op die zijn gekoppeld aan zakelijke gebeurtenissen of waarnemingen, zoals verkoopbedragen, orderhoeveelheden of temperatuurmetingen. Feitentabellen bevatten numerieke waarden die kunnen worden geaggregeerd.
  • Dimensietabellen beschrijven de entiteiten die relevant zijn voor uw analysevereisten. Ze vertegenwoordigen de dingen die u modelleren, zoals producten, klanten, datums of locaties. Dimensietabellen bieden de context voor het analyseren van feitengegevens.

Deze scheiding van metingen van beschrijvende context creëert een structuur die intuïtief is voor analisten en geoptimaliseerd voor query-engines.

Schematypen vergelijken

Er zijn verschillende schematypen die u kunt gebruiken om feiten- en dimensietabellen te rangschikken. Elk type biedt verschillende afwegingen tussen eenvoud van query's, opslagefficiëntie en flexibiliteit.

Stervormig schema

Een stervormig schema plaatst een feitentabel in het midden, met dimensietabellen die vanuit het middelpunt uitstralen. Elke dimensietabel maakt rechtstreeks verbinding met de feitentabel via sleutelrelaties. De naam komt voort uit het visuele uiterlijk: een centrale feiten tabel met dimensietabellen die de punten van een ster vormen.

Diagram met een stervormig schema met een centrale Fact_Sales tabel die is verbonden met vier dimensietabellen: Dim_Product, Dim_Customer, Dim_Date en Dim_Store.

Stervormig schema is de aanbevolen benadering voor de meeste analyseworkloads in Microsoft Fabric. Het biedt verschillende voordelen:

  • Minder koppelingen leiden tot snellere queryprestaties. Query's hebben doorgaans slechts één join per dimensie nodig.
  • Intuïtieve structuur is gekoppeld aan hoe zakelijke gebruikers denken over gegevens. Gebruikers filteren en groeperen op dimensies (wie, wat, wanneer, waar) en geaggregeerde metingen.
  • Basis voor semantische modellen in Power BI. Stervormige schema's zijn een vereiste voor semantische bedrijfsmodellen en bieden ondersteuning voor Copilot- en AI-scenario's.
  • Weinig onderhoud naarmate het datawarehouse zich ontwikkelt. Het toevoegen van een nieuw kenmerk aan een dimensie of een nieuwe feitentabel is eenvoudig zonder bestaande tabellen te herstructureren.

Een stervormig schema bevat vaak meerdere feitentabellen die elk een ander bedrijfsproces vertegenwoordigen. Een retailmodel kan bijvoorbeeld afzonderlijke sterren hebben voor verkoop, voorraad en aankoop, die allemaal gemeenschappelijke dimensies delen.

Aanbeveling

Begin met een stervormig schema voor de meeste projecten. De eenvoud en prestatievoordelen wegen op tegen de kleine opslagkosten van gedenormaliseerde dimensietabellen.

Snowflake-schema

Een snowflake-schema breidt het stervormige schema uit door dimensietabellen te normaliseren. In plaats van alle kenmerken in één dimensietabel op te slaan, worden gerelateerde kenmerken gesplitst in afzonderlijke, gerelateerde tabellen. Een productdimensie kan bijvoorbeeld afzonderlijke tabellen bevatten voor subcategorie en categorie, elk gekoppeld op vreemde sleutels.

Diagram met een sneeuwvlokschema met een centrale feitentabel en genormaliseerde dimensietabellen die naar buiten vertakken in subcategorie, categorie en geografie.

De term snowflake is afkomstig van het vertakkingspatroon dat wordt weergegeven wanneer u de relaties diagramt. Elke tak van de sneeuwvlok vertegenwoordigt een normalisatieniveau.

Overweeg een snowflake-schema wanneer:

  • Een dimensie is extreem groot en de opslagkosten wegen zwaarder dan de behoeften aan query-prestaties.
  • U hebt sleutels nodig om dimensiegegevens te relateren aan feiten op verschillende granulariteitsniveaus. Bijvoorbeeld verkoopdoelen op productniveau en verkoopdoelen op subcategorieniveau.
  • U moet historische wijzigingen bijhouden op hogere granulariteitsniveaus.

Voor snowflake-schema's zijn echter meer joins vereist, waardoor queryprestaties kunnen worden verminderd en de query's complexer kunnen worden. Als u van plan bent een semantisch model te bouwen, moet u een weergave maken die de snowflake-tabellen weer samenvoegt, omdat voor Power BI-hiërarchieën kolommen uit één tabel nodig zijn.

Een schematype kiezen

Gebruik de volgende richtlijnen om het juiste schematype voor uw scenario te kiezen:

Schematype Het beste voor Tradeoffs
Star De meeste analyseworkloads, semantische Power BI-modellen, AI-scenario's Kleine opslagredundantie van gedenormaliseerde dimensies
Snowflake Zeer grote dimensies met gedeelde hiërarchieën over verschillende korrelniveaus Complexe queries, meer joins

Naarmate uw datawarehouse groeit, krijgt u natuurlijk meerdere stervormige schema's die dimensies delen. Een retailmodel kan bijvoorbeeld afzonderlijke feitentabellen bevatten voor verkoop, voorraad en aankoop die allemaal verwijzen naar dezelfde product- en datumdimensies. Dit patroon ontstaat door het geconformeerde dimensieontwerp, waarover u in een latere eenheid leert.

Dimensionale modellen als basis voor AI

De structuur die u voor uw dimensionale model kiest, is belangrijker dan traditionele rapportage. Copilot in Power BI genereert betere antwoorden in natuurlijke taal wanneer de onderliggende gegevens duidelijke stervormige schemarelaties gebruiken, omdat de scheiding van feiten en dimensies direct is toegewezen aan hoe vragen worden gesteld: 'Toon de totale omzet per regio per kwartaal'.

Dezelfde structuur voedt ook de Fabric IQ-werklast. Het ontologie-item in Fabric IQ definieert bedrijfsconcepten als entiteitstypen (zoals Klant en Product), eigenschappen en relaties. Deze worden natuurlijk toegewezen aan dimensionale modelconcepten: entiteitstypen komen overeen met dimensies, eigenschappen komen overeen met kenmerken en relaties spiegelen de sleutelverbindingen tussen tabellen. U kunt rechtstreeks vanuit een semantisch Power BI-model een ontologie genereren die is gebaseerd op uw dimensionale model, wat betekent dat de ontwerpbeslissingen die u hier neemt, doorstromen naar AI-agents die redeneren over uw gegevens in zakelijke termen.

Nu u schematypen begrijpt, kunt u zich richten op het ontwerpen van de feitentabellen die zich in het midden van uw dimensionale model bevinden.