Verschil tussen ster- en sneeuwvlokschema

Data warehousing is een systeem dat is ontworpen om gegevens op te slaan en te organiseren in centrale opslagplaatsen, inclusief gegevens uit andere bronnen. Het is een kernconcept van business intelligence in relationele databasemodellen die analytische technieken gebruiken om bedrijfsgegevens te integreren in een centrale database.

Er zijn twee veelgebruikte architecturale modellen die worden gebruikt in datawarehousing:

  • Star Scheme
  • Sneeuwvlok schema

Beide zijn de algemene multidimensionale databasemodellen die worden gebruikt om de behoeften van grote databases aan te pakken voor de analytische doeleinden in ware datawarehouses.

We presenteren een onbevooroordeelde vergelijking tussen de twee om beter te begrijpen welke beter is dan de ander.

Wat is Star Schema?

Het is het meest voorkomende en algemeen aanvaarde architecturale model dat wordt gebruikt om datawarehouses en datamarts te ontwikkelen waarin de gegevens zijn georganiseerd in feiten en dimensies. Het is het eenvoudigste architecturale model waarin één feitentabel wordt gebruikt om te verwijzen naar tabellen met meerdere dimensies, waarbij een sterpatroon wordt geïmiteerd.

Zoals de naam al doet vermoeden, lijkt het diagram op een ster met de feitentabel in het midden en meerdere-afmetingstabellen die er vanaf stralen, waardoor een sterachtig patroon ontstaat.

Het is ook bekend als Star Join Schema en het slaat alle attributen van een dimensie op in een gedenormaliseerde feitentabel om snel door grote multidimensionale gegevenssets te navigeren, wat zorgt voor snelle queryresponstijden.

Wat is Snowflake Schema?

Het is een uitbreiding van het sterrenstelsel met toegevoegde functionaliteiten. In tegenstelling tot het sterrenschema, worden de dimensietabellen in het sneeuwvlokschema genormaliseerd in meerdere gerelateerde tabellen.

Het architecturale model vertegenwoordigt een logische rangschikking van tabellen in een veel-op-een relatiehiërarchie waar tabellen met meerdere dimensies worden genormaliseerd in subdimensionetabellen, die lijken op een sneeuwvlokachtig patroon, vandaar de naam.

Het is een complexere versie van het sterrenschema met meer joins tussen dimensietabellen, wat zorgt voor een langzame verwerkingstijd om gegevens op te halen, wat betekent dat de reactietijd van query's langzamer is. Het minimaliseert gegevensredundantie, wat op zijn beurt de queryprestaties verbetert.

Verschil tussen Star en Snowflake Schema

Architectuur van Star en Snowflake Schema

In relationele databases is sterschema het eenvoudigste architecturale model dat wordt gebruikt voor het ontwikkelen van datawarehouses en multidimensionale datamarts. Zoals de naam al doet vermoeden, lijkt het model op een ster met punten die vanuit het midden uitstralen, wat betekent dat de feitentabel het midden is en de punten de dimensietabellen zijn. Net als andere dimensionale modellen, bestaat het uit gegevens in de vorm van feiten en dimensies. Snowflake-schema is daarentegen het meer complexe architecturale model dat verwijst naar een multidimensionale database met logische opstelling van tabellen in de vorm van een sneeuwvlok.

Afmetingstabel

Het sneeuwvlokschema lijkt sterk op het sterrenschema, behalve dat het meer dan één dimensietabellen kan hebben die verder worden genormaliseerd in meerdere gerelateerde tabellen die subdimensionetabellen worden genoemd. Het vertegenwoordigt meerdere niveaus van relaties die vertakken in een sneeuwvlokpatroon. Sterschema bewaart alle gerelateerde kenmerken van een dimensie echter in een gedemormaliseerde dimensietabel, waardoor het eenvoudiger te begrijpen en eenvoudiger vragen te behandelen is.

Business Model van Star en Snowflake Schema

Een dimensietabel kan geen dubbele rijen bevatten in relationele databasemodellen vanwege het simpele feit dat deze bij het ophalen ambiguïteiten kan creëren. Elke tabel moet een kolom of combinatie van kolommen hebben die de primaire sleutel wordt genoemd en die alle tabelrecords uniek identificeert. Een externe sleutel is een kolom of een groep kolommen die een koppeling tussen twee tabellen biedt. In sterschema heeft elke dimensietabel een primaire sleutel die gerelateerd is aan een externe sleutel in de feitentabel. De bedrijfshiërarchie in een sneeuwvlokschema wordt vertegenwoordigd door een primaire sleutel / externe sleutelrelatie tussen dimensietabellen.

Gegevensintegriteit in Star- en Snowflake-schema

Het belangrijkste verschil tussen de twee relationele databasemodellen is normalisatie. De dimensietabellen in het sterrenschema zijn niet genormaliseerd, wat betekent dat het bedrijfsmodel relatief meer ruimte gebruikt om dimensietabellen op te slaan en meer ruimte betekent meer overbodige records die uiteindelijk inconsistentie zouden veroorzaken. Snowflake-schema minimaliseert de gegevensredundantie omdat dimensietabellen worden genormaliseerd, waardoor er veel minder overbodige records worden gemaakt. De bedrijfshiërarchie en de dimensies worden behouden door referentiële integriteit, wat betekent dat relaties onafhankelijk kunnen worden bijgewerkt in datawarehouses.

Queryprestaties

Het sterschema heeft minder joins tussen de dimensietabel en de feitentabel in vergelijking met dat van het sneeuwvlokschema dat meerdere joins heeft, wat zorgt voor minder querycomplexiteit. Omdat de dimensies in een sterrenschema zijn gekoppeld via een centrale feitentabel, heeft deze duidelijke join-paden, wat betekent dat snelle queryresponstijden en snelle responstijd betere prestaties betekenen. Het sneeuwvlokschema heeft een hoger aantal joins, waardoor de reactietijd van de query langer is, wat resulteert in complexere query's die uiteindelijk de prestaties in gevaar brengen.

Star Schema vs. Snowflake-schema: vergelijkingsschema


Samenvatting van Star verzen Snowflake Schema

Beide zijn de meest voorkomende en algemeen gebruikte architecturale modellen die worden gebruikt om database-magazijnen en datamarts te ontwikkelen. Elk bedrijfsmodel heeft echter een eerlijk aandeel van voor- en nadelen. Hoewel sterrenschema het eenvoudigste multidimensionale model is dat wordt gebruikt om gegevens te ordenen in feiten en dimensies, is het ideaal voor het ontwikkelen van datamarts met minder complexe relaties. Sneeuwvlokschema is een logische weergave van tabellen in een multidimensionale database waarin de dimensies worden opgeslagen in subdimensionetabellen. Het belangrijkste verschil tussen beide is normalisatie. De dimensietabellen in een sneeuwvlokschema zijn volledig genormaliseerd in meerdere opzoektabellen, terwijl in een sterschema de dimensietabellen worden gedenormaliseerd in één centrale feitentabel.