Basisinformatie over datawarehouses
Het proces voor het bouwen van een modern datawarehouse bestaat doorgaans uit:
- Gegevensopname: gegevens uit bronsystemen verplaatsen naar een datawarehouse.
- Gegevensopslag: de gegevens opslaan in een indeling die is geoptimaliseerd voor analyse.
- Gegevensverwerking: de gegevens transformeren in een indeling die gereed is voor gebruik door analytische hulpprogramma's.
- Gegevensanalyse en -levering: analyseren van de gegevens om inzichten te verkrijgen en deze inzichten aan het bedrijf te leveren.
Met Microsoft Fabric kunnen gegevenstechnici en analisten gegevens in één hulpprogramma opnemen, opslaan, transformeren en visualiseren met zowel weinig code als traditionele ervaring.
Inzicht in de datawarehouse-ervaring van Fabric
Het datawarehouse van Fabric is een relationeel datawarehouse dat de volledige transactionele T-SQL-mogelijkheden ondersteunt die u zou verwachten van een datawarehouse voor ondernemingen. Het is een volledig beheerd, schaalbaar en maximaal beschikbaar datawarehouse dat kan worden gebruikt voor het opslaan en opvragen van gegevens in Lakehouse. Met behulp van het datawarehouse hebt u volledig de controle over het maken van tabellen, het laden, transformeren en opvragen van gegevens met behulp van de Fabric-portal of T-SQL-opdrachten. U kunt SQL gebruiken om query's uit te voeren en de gegevens te analyseren, of Spark gebruiken om de gegevens te verwerken en machine learning-modellen te maken.
Datawarehouses in Fabric vergemakkelijken de samenwerking tussen data engineers en gegevensanalisten en werken samen in dezelfde ervaring. Data engineers bouwen een relationele laag op basis van gegevens in Lakehouse, waar analisten T-SQL en Power BI kunnen gebruiken om de gegevens te verkennen.
Een datawarehouse ontwerpen
Net als alle relationele databases bevat het datawarehouse van Fabric tabellen om uw gegevens later op te slaan voor analyse. Meestal zijn deze tabellen ingedeeld in een schema dat is geoptimaliseerd voor multidimensionale modellering. In deze benadering worden numerieke gegevens met betrekking tot gebeurtenissen (bijvoorbeeld verkooporders) gegroepeerd op verschillende kenmerken (bijvoorbeeld datum, klant, winkel). U kunt bijvoorbeeld het totale bedrag analyseren dat is betaald voor verkooporders die zijn opgetreden op een specifieke datum of in een bepaalde winkel.
Tabellen in een datawarehouse
Tabellen in een datawarehouse worden doorgaans ingedeeld op een manier die een efficiënte en effectieve analyse van grote hoeveelheden gegevens ondersteunt. Deze organisatie wordt vaak dimensionale modellering genoemd, waarbij tabellen worden gestructureerd in feitentabellen en dimensietabellen.
Feitentabellen bevatten de numerieke gegevens die u wilt analyseren. Feitentabellen hebben doorgaans een groot aantal rijen en zijn de primaire gegevensbron voor analyse. Een feitentabel kan bijvoorbeeld het totale bedrag bevatten dat is betaald voor verkooporders die plaatsvonden op een specifieke datum of in een bepaalde winkel.
Dimensietabellen bevatten beschrijvende informatie over de gegevens in de feitentabellen. Dimensietabellen hebben doorgaans een klein aantal rijen en worden gebruikt om context te bieden voor de gegevens in de feitentabellen. Een dimensietabel kan bijvoorbeeld informatie bevatten over de klanten die verkooporders hebben geplaatst.
Naast kenmerkkolommen bevat een dimensietabel een unieke sleutelkolom die elke rij in de tabel uniek identificeert. In feite is het gebruikelijk dat een dimensietabel twee belangrijke kolommen bevat:
- Een surrogaatsleutel is een unieke id voor elke rij in de dimensietabel. Het is vaak een geheel getal dat automatisch wordt gegenereerd door het databasebeheersysteem wanneer een nieuwe rij wordt ingevoegd in de tabel.
- Een alternatieve sleutel is vaak een natuurlijke of zakelijke sleutel die een specifiek exemplaar van een entiteit in het transactionele bronsysteem identificeert, zoals een productcode of een klant-id.
U hebt zowel surrogaat- als alternatieve sleutels in een datawarehouse nodig, omdat ze verschillende doeleinden dienen. Surrogaatsleutels zijn specifiek voor het datawarehouse en helpen consistentie en nauwkeurigheid in de gegevens te behouden. Alternatieve sleutels zijn daarentegen specifiek voor het bronsysteem en helpen bij het onderhouden van traceerbaarheid tussen het datawarehouse en het bronsysteem.
Speciale typen dimensietabellen
Speciale typen dimensies bieden extra context en maken uitgebreidere gegevensanalyse mogelijk.
Tijddimensies bieden informatie over de periode waarin een gebeurtenis heeft plaatsgevonden. Met deze tabel kunnen gegevensanalisten gegevens met tijdelijke intervallen aggregeren. Een tijddimensie kan bijvoorbeeld kolommen bevatten voor het jaar, het kwartaal, de maand en de dag waarin een verkooporder is geplaatst.
Langzaam veranderende dimensies zijn dimensietabellen waarmee wijzigingen in dimensiekenmerken in de loop van de tijd worden bijgehouden, zoals wijzigingen in het adres van een klant of de prijs van een product. Ze zijn belangrijk in een datawarehouse omdat ze gebruikers in staat stellen om wijzigingen in gegevens in de loop van de tijd te analyseren en te begrijpen. Langzaam veranderende dimensies zorgen ervoor dat gegevens up-to-date en nauwkeurig blijven, wat essentieel is om goede zakelijke beslissingen te nemen.
Schemaontwerpen voor datawarehouses
In de meeste transactionele databases die worden gebruikt in zakelijke toepassingen, worden de gegevens genormaliseerd om duplicatie te verminderen. In een datawarehouse worden de dimensiegegevens over het algemeen gedenormaliseerd om het aantal joins te verminderen dat nodig is om een query uit te voeren op de gegevens.
Vaak is een datawarehouse geordend als een stervormig schema, waarin een feitentabel rechtstreeks is gerelateerd aan de dimensietabellen, zoals wordt weergegeven in dit voorbeeld:
U kunt de kenmerken van iets gebruiken om getallen in de feitentabel op verschillende niveaus te groeperen. U kunt bijvoorbeeld de totale omzet voor een hele regio of slechts voor één klant vinden. De informatie voor elk niveau kan worden opgeslagen in dezelfde dimensietabel.
Tip
Zie Wat is een stervormig schema? voor meer informatie over het ontwerpen van stervormige schema's voor Fabric.
Als er veel niveaus zijn of als bepaalde informatie wordt gedeeld door verschillende dingen, kan het zinvol zijn om in plaats daarvan een snowflake-schema te gebruiken. Hier volgt een voorbeeld:
In dit geval is de tabel DimProduct opgesplitst (genormaliseerd) om afzonderlijke dimensietabellen te maken voor productcategorieën en leveranciers.
- Elke rij in de tabel DimProduct bevat sleutelwaarden voor de bijbehorende rijen in de tabellen DimCategory en DimSupplier.
Er is een DimGeography-tabel toegevoegd met informatie over waar klanten en winkels zich bevinden.
- Elke rij in de tabellen DimCustomer en DimStore bevat een sleutelwaarde voor de bijbehorende rij in de tabel DimGeography .