Lär dig om större schema: Star vs. Snowflake

Flerdimensionellt schema är utformat för att bygga en datalagersystemmodell.

Huvudsyftet med dessa scheman är att tillgodose behoven hos större databaser byggda för analytiska ändamål (OLAP).

Denna metod används för att beställa data i databasen med ett bra arrangemang av innehållet i en databas. Schemat tillåter kunder att ställa frågor relaterade till affärs- eller marknadstrender.

Dessutom representerar ett flerdimensionellt schema datan i form av datakuber som möjliggör visning och modellering av data från olika perspektiv och dimensioner.

Det är av tre typer, men många blandar ihop stjärna och Snowflake. Därför blir det svårt för dem att välja den modell att föredra.

Om du är en av dem, låt oss diskutera skillnaderna mellan stjärn- och snöflingsschemat, börja med definitionen och förstå deras fördelar, utmaningar, diagram och egenskaper.

Vad är ett flerdimensionellt schema?

Schema hänvisar till den logiska beskrivningen av en komplett databas och datamarts. Det inkluderar namnet på poster och deras beskrivningar, inklusive aggregat och tillhörande dataobjekt.

En databas använder vanligtvis en relationsmodell för att beskriva, medan ett datalagersystem använder en Schema-modell.

Flerdimensionellt schema kan definieras med Data Mining Query Language (DMQL).

För att definiera datamarts och datalager använder den två primitiver – dimensionsdefinition och kubdefinition.

Det flerdimensionella schemat använder olika typer av schemamodeller. Dom är:

  • Stjärnschema
  • Snöflinga schema
  • Galaxy schema

Låt oss diskutera vad stjärn- och snöflingascheman är.

Star vs. Snowflake: Vad är de?

Vad är Star Schema?

Ett stjärnschema är en arkitektonisk datalagrings- och business intelligence-modell som kräver en enda faktatabell för att lagra uppmätta och transaktionsdata. Den använder också olika mindre dimensionella tabeller för att innehålla attribut om affärsdata.

Den heter enligt dess struktur. Som en stjärna tar faktatabellen sin plats i mitten av diagrammet, och små dimensionella tabeller sitter som grenar till mittbordet för att bilda en stjärnliknande struktur.

Varje stjärnschema består av en enda faktatabell men flera små dimensionella tabeller. Faktatabellerna inkluderar specifik, mätbar data som behöver analyseras, såsom loggade prestationer, finansiella data eller försäljningsposter. Det kan vara ett ögonblick av historiska data åt gången eller transaktioner.

Dessutom är Star-schemat det enklaste och mest grundläggande bland datalager och datamart-scheman. Det är effektivt att hantera grundläggande frågor. Stjärnschema stöder i allmänhet affärsintelligens, ad hoc-frågor, analytiska applikationer och analytiska bearbetningskuber online.

Stjärnschema stöder också antal, medelvärde, summa och andra sammanställningar av många poster. Användare kan enkelt filtrera och gruppera sammanställningarna efter dimensioner. Användare genererar till exempel frågor som ”hitta alla försäljningsrekord i juni” eller ”analysera totala intäkter från XYZ-kontoret 2022”.

Vad är Snowflake Schema?

Ett snöflingaschema är en flerdimensionell datamodell som också kan kallas förlängningen av stjärnschemat. Detta beror på att dimensionstabeller i snöflingaschemat delas upp i underdimensioner.

Ett schema är en snöflinga om en och flera dimensionstabeller inte länkar direkt till faktatabellen utan snarare ansluter genom andra dimensionstabeller.

Snöflingning är ett fenomen som normaliserar dimensionstabellerna i ett stjärnschema. När du normaliserar alla dimensionstabeller liknar den resulterande strukturen en snöflinga som innehåller en faktatabell i mitten av strukturen.

Snöflingeschemat består med enkla ord av en faktatabell i mitten av modellen, som är kopplad till dimensionstabeller, som återigen är kopplade till andra dimensionstabeller. Detta schema används för att förbättra prestandan för frågorna.

Modellen är skapad för snabb, flexibel förfrågning över komplexa relationer och dimensioner. Det är användbart för en till många och många till många relationer mellan olika dimensionsnivåer.

På grund av den strängare efterlevnaden av mer normaliseringsstandarder kommer du att få mer lagringseffektivitet. Men dataredundansen är försumbar, och prestandan är låg jämfört med denormaliserade datamodeller som stjärnschema.

Star vs. Snowflake: Hur fungerar de?

Hur fungerar ett stjärnschema?

Faktatabellen i mitten av stjärnmodellen lagrar två typer av information – numeriska och dimensionsattributvärden. Låt oss förstå dem med ett exempel på en försäljningsdatabas.

  • Numeriska värden är unika för varje rad och datapunkt. Detta korrelerar inte med eller relaterar till data som lagras i en annan rad. Dessa är fakta om en given transaktion, såsom totalbelopp, orderkvantitet, exakt tid, nettovinst, order-ID, etc.
  • Dimensionsattributvärden lagrar inte någon data direkt, utan de lagrar främmande nyckelvärden för raden i en dimensionstabell. Olika rader i mitttabellen refererar till denna information, såsom datavärde, försäljningsmedarbetar-ID, filialkontors-ID, produkt-ID, etc.

Dimensionstabeller lagrar alltid stödinformation från faktatabellen. Varje dimensionstabell relaterar till kolumnen i en faktatabell tillsammans med ett dimensionellt värde och lagrar ytterligare data om det värdet.

Exempel: Tabellen för anställddimension använder anställd-ID som nyckelvärde och innehåller även information, såsom namn, kön, adress och telefonnummer. På samma sätt lagrar en produktdimensionstabell information, inklusive produktnamn, färg, första datum till marknaden, tillverkningskostnad, etc.

Hur fungerar ett Snowflake Schema?

Tänk på en snöflingadesign med en mittlåda och olika anslutningar genom den lådan till olika prickar. För att underhålla datamarts och datalager kommer snowflake-schemadesign in i bilden.

Det liknar stjärnschemat men med minutändringar. Till skillnad från stjärnschemat utökar snowflake-schemat sina underdimensionstabeller, som är länkade till dimensionstabeller.

Det primära syftet med denna modell är att normalisera stjärnmodellens denormaliserade information. På så sätt kan den lösa vanliga problem kopplade till ett stjärnschema.

I kärnan av schemat hittar du en faktatabell som länkar till informationen i dimensionstabeller. Dessa tabeller strålar återigen utåt till subdimensionstabeller som har detaljerad information som beskriver dimensionstabellinformationen.

Exempel: Snowflake-schemat innehåller en försäljningsfaktatabell och tabeller för butiksplats, linje, familj, produkt och tidsdimension. Marknadsdimensionerna består av två dimensionstabeller, med butiken som primär dimensionstabell och butikens plats som underdimensionstabell. Produktdimensionen har tre underdimensionstabeller som nämner en produkt-, linje- och familj-underdimensionstabell.

Star vs. Snowflake: Karakteristika

Kännetecken för stjärnschema

  • Stjärnschema kan filtrera data från normaliserade data för att möta datalagerbehov. Den unika nyckeln genereras från den associerade informationen för varje faktatabell för att identifiera varje rad.
  • Det ger snabba beräkningar och sammanställningar, som intäkterna från intjänade intäkter och totala sålda föremål i slutet av varje månad. Dessa detaljer kan filtreras efter behoven genom att rama in lämpliga frågor.
  • Det är mätningen av händelser som inkluderar finita talvärden som består av den främmande nyckeln. Dessa nycklar är relaterade till dimensionstabellerna. Det finns olika typer av faktatabeller som är inramade med värden på atomnivå.
  • Transaktionsfaktatabellen innehåller data om specifika händelser, såsom försäljning och helgdagar.
  • Registreringsfakta inkluderar givna perioder som kontoinformation i slutet av året eller varje kvartal.
  • Den dimensionella tabellen ger detaljerad information om attribut eller poster som finns i mitttabellen.
  • Användaren kan själv designa ett bord efter behov.
  • Du kan använda stjärnschema för att samla ögonblicksbildstabeller.

Egenskaper för Snowflake Schema

  • Snowflake-schemat behöver lite diskutrymme.
  • Denna modell är lätt att implementera på grund av dess separata och huvuddimensionstabeller.
  • Dimensionstabellerna innehåller minst två attribut för att definiera information vid flera korn.
  • På grund av flera tabeller är prestandan låg jämfört med stjärnschemat.
  • Snowflake-schemat har den högsta dataintegritetsnivån och låga redundanser på grund av normalisering.

Star vs. Snowflake: Fördelar

Fördelar med Star Schema

  • Stjärnschema är det enklaste sättet bland datamart-scheman.
  • Den har en enkel rapporteringslogik. Denna logik antyds dynamiskt.
  • Den är designad med matningskuber som appliceras genom onlinetransaktionsprocessen för att få kuber att fungera effektivt.
  • Stjärnschemat är utformat med enkel logik och frågor som är lätta att extrahera från transaktionsprocessen.
  • Det ger förbättrad prestanda för rapporteringsapplikationer.
  • Den är utplacerad för att kontrollera snabb återställning av data.
  • Den filtrerade och valda informationen kan enkelt tillämpas i olika fall.

Fördelar med Snowflake Schema

  • Stjärnschema används för att utveckla frågeprestanda på grund av färre krav på disklagring.
  • Det ger större skalbarhet i förhållandet mellan komponenter och dimensionsnivåer.
  • Det är lättare att underhålla.
  • Stjärnschema erbjuder snabb datahämtning.
  • Det är ett vanligt och enkelt dataschema för datalagring.
  • Det hjälper till att förbättra datakvaliteten.
  • Den strukturerade datan minskar frågan om dataintegritet.

Star vs. Snowflake: Begränsningar

Begränsningar för stjärnschema

Den har ett högt denormaliserat och integritetstillstånd. Hela processen kommer att kollapsa om användaren misslyckas med att uppdatera data. Säkerheten och skydden är också begränsade. Dessutom är stjärnschemat inte lika flexibelt som den analytiska modellen. Det erbjuder inte effektivt stöd till olika relationer.

Begränsningar för Snowflake Schema

Den huvudsakliga begränsningen du hittar med Snowflake är de ytterligare underhållsinsatserna på grund av det ökande antalet små dimensionstabeller. Många komplexa frågor gör det svårt att hitta den information som krävs. Dessutom är implementeringstiden för frågan hög på grund av högre tabeller. Denna modell är också stel och kräver högre underhållskostnader.

Star vs. Snowflake: Skillnader

Star och Snowflake är typer av flerdimensionella scheman men har olika strukturer och egenskaper. Den förra är som en stjärna, och den senare liknar en snöflinga, som definierar deras namn.

I stjärnschemat bygger endast en enstaka koppling en relation mellan den centrala faktatabellen och sidodimensionstabellerna. Å andra sidan, i snowflake-schemat, behövs flera kopplingar för att länka till dimensionstabeller.

Stjärnschema används vanligtvis när du har mindre antal rader i dimensionstabellen, medan snöflingaschema används när en dimensionstabell är relativt stor.

Diagrammet nedan skiljer de två modellerna åt och hur dimensionstabellerna och faktatabellen är sammanlänkade i olika scheman.

ParametrarStar SchemaSnowflake SchemaDiskutrymmeStjärnschemat använder mer diskutrymme.Snowflake-schemat använder mindre diskutrymme.DataredundansDet har hög dataredundans.Det har låg dataredundans.NormaliseringDimensionstabellerna är denormaliserade, vilket innebär att samma värde upprepas i tabellen.Dimensionstabellerna är helt normaliserad.FrågeprestandaDet tar minsta tid att köra frågorna, vilket resulterar i bättre prestanda.Det tar mer tid än stjärnschemat för sökningen, vilket gör det sämre prestanda än stjärnschemat.FrågekomplexitetFrågekomplexiteten är låg.Frågekomplexiteten är högre än stjärnschemat.UnderhållPå grund av hög dataredundans är det lite svårt att upprätthålla stjärnschemat.På grund av låg dataredundans är det lätt att underhålla och ändra snöflingaschemat.DataintegritetDataintegriteten är hög eftersom data lagras redundant där flera kopior finns i dimensionstabellerna. Dataintegriteten är låg eftersom den helt normaliserar dimensionstabellerna. Hierarkier Hierarkier för dimensionstabellerna i stjärnschemat lagras i dimensionstabellen. Hierarkier är uppdelade i separata dimensionstabeller.DB-designDen har en enkel DB-design.Den har en mycket komplex DB-design.FaktatabellFlera dimensionstabeller omger en faktatabell. Faktatabellen är omgiven av dimensionstabeller som också är omgivna av underdimensionstabeller.Set upStar-schemat är lätt att designa och ställa in eftersom direkta relationer representerar dem. Å andra sidan är snöflingeschemat lite komplicerat att sätta upp. KubbearbetningKubbearbetning är snabbare.På grund av komplex koppling är kubbearbetningen lite långsam.Främmande nycklarDen har ett minsta antal främmande nycklar.Den har det maximala antalet främmande nycklar.

Slutsats

Både Star- och Snowflake-scheman är användbara inom olika sektorer. Så att bestämma vilken som är bättre bland dem baseras på deras krav.

Snöflingeschemat är en förlängning av stjärnschemat, där det normaliserar dimensionstabellerna i stjärnschemat.

Stjärnschemat är enkelt i design, kör frågor snabbare och installationen är enkel. Å andra sidan är snöflingaschemat enklare att underhålla, tar mindre diskutrymme och är mindre benäget för dataintegritetsproblem.

Så ett stjärnschema kan vara det bättre alternativet om du behöver en enkel design, färre främmande nycklar och snabbare kubbearbetning. Men om du behöver mindre diskutrymme, låg dataintegritet och lågt underhåll kan snöflingaschemat vara mer lämpligt.

Du kan också utforska några bästa grafdatabaslösningar.